Methods and systems for providing information for an on-demand service

ABSTRACT

The present disclosure relates to an information providing method for an on-demand service. The method may include receiving service request information from a passenger of a passenger terminal device. The service request information may include a departure location of the passenger. The method may further include acquiring historical service request information related to the passenger; and determining travel-route-related information based at least in part on the departure location of the passenger and the historical service request information. Also disclosed is a system for implementing the method.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional application of U.S. application Ser.No. 16/569,632, filed on Sep. 12, 2019, which is a continuation of U.S.application Ser. No. 15/546,657, filed on Jul. 26, 2017, now U.S. Pat.No. 10,458,806, which is a U.S. National Stage entry under 35 U.S.C. §371 of International Application No. PCT/CN2016/072357, filed on Jan.27, 2016, which claims priority to Chinese Application No.201510039939.3 filed on Jan. 27, 2015, Chinese Application No.201510048217.4 filed on Jan. 29, 2015, Chinese Application No.201510070073.2 filed on Feb. 10, 2015, Chinese Application No.201510105381.4 filed on Mar. 10, 2015, Chinese Application No.201510151590.2 filed on Apr. 1, 2015, Chinese Application No.201510239402.1 filed on May 12, 2015, Chinese Application No.201510284601.4 filed on May 28, 2015, Chinese Application No.201510464596.5 filed on Jul. 31, 2015, Chinese Application No.201510591079.4 filed on Sep. 16, 2015, Chinese Application No.201510991394.6 filed on Dec. 25, 2015; and Chinese Application No.201511000093.9 filed on Dec. 25, 2015, the contents of each of which areincorporated herein by reference.

TECHNICAL FIELD

The present disclosure generally relates to a system and method forproviding information for an on-demand service, and more particularly,to a system and method for predicting travel destinations using mobileinternet technologies and data processing technologies.

BACKGROUND

On-demand services and applications have become increasingly popular.For example, with the rapid growth of cities, transportation servicesare in high demand for people from all sectors of society. Meanwhile,due to rapid development of mobile Internet and popularity of smartdevices, especially smart navigation devices and smartphones,transportation service applications are increasingly popular and canbring great convenience to people.

If the background of a transportation service system can predict atravel destination or route for a passenger/driver based on travel rulesof the passenger/driver, both the passenger and the driver will have abetter user experience.

SUMMARY

In one aspect of the present disclosure, a method of providinginformation for an on-demand service is provided. The method may includereceiving service request information from a passenger terminal device.The service request information may include a departure location of thepassenger. The method may further include obtaining historical servicerequest information related to the passenger. The method may furtherinclude determining travel-route-related information based at least inpart on the departure location of the passenger and the historicalservice request information.

In another aspect of the present disclosure, a system for providinginformation for an on-demand service is provided. The system may includea tangible computer readable storage medium configured to store anexecutable module. The executable module may include a service requesterinterface module configured to receive service request information froma passenger terminal device. The service request information may includea departure location of the passenger. The executable module may furtherinclude a processing module configured to obtain historical servicerequest information related to the passenger and determinetravel-route-related information based at least in part on the departurelocation of the passenger and the historical service requestinformation. The system may include a processor configured to implementthe executable module.

According to exemplary embodiments of the present disclosure, theservice request information may include time information.

According to exemplary embodiments of the present disclosure, thetravel-route-related information may include at least one of adestination, a route between a current location of the passenger and thedestination, and a distance of the route.

According to exemplary embodiments of the present disclosure, thedestination may be determined based on a classification model.

According to exemplary embodiments of the present disclosure, theclassification model may be based on at least an address classificationtype of the destinations.

According to exemplary embodiments of the present disclosure, the methodof providing information for an on-demand service may further includesending the travel-route-related information to the passenger terminaldevice.

According to exemplary embodiments of the present disclosure, the methodof providing information for an on-demand service may further includereceiving processed data related to the travel-route-related informationby the passenger of the passenger terminal device.

According to exemplary embodiments of the present disclosure, thehistorical service request information may include at least one of ahistorical departure location, a historical destination, a historicalroute between the historical departure location of the passenger and thehistorical destination, and a distance of the historical route.

According to exemplary embodiments of the present disclosure, the methodof providing information for an on-demand service may further includedetermining a service fee.

According to exemplary embodiments of the present disclosure, thedetermination of the service fee may include receiving information ofmultiple locations where a driver stays at multiple time points. Thedetermination of the service fee may further include calculating theservice fee based at least in part on the information of the multiplelocations.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is further described in terms of schematicembodiments. These schematic embodiments are described in detail withreference to the drawings. The drawings are not to scale. Theseembodiments are non-limiting schematic embodiments, in which likereference numerals represent similar structures throughout the severalviews of the drawings, and wherein:

FIG. 1 -A is a schematic diagram of a network environment containing anon-demand service system according to some embodiments of the presentdisclosure;

FIG. 1 -B is a schematic diagram of a network environment containing anon-demand service system according to another embodiment of the presentdisclosure;

FIG. 2 is a schematic diagram of an on-demand service system accordingto some embodiments of the present disclosure;

FIG. 3 is a schematic block diagram of a processing module of a POIengine according to some embodiments of the present disclosure;

FIG. 4 -A is a schematic block diagram of a passenger interface of a POIengine according to some embodiments of the present disclosure;

FIG. 4 -B is a schematic block diagram of a driver interface of a POIengine according to some embodiments of the present disclosure;

FIG. 5 is a schematic diagram of a user terminal device according tosome embodiments of the present disclosure;

FIG. 6 is a schematic block diagram of a database according to someembodiments of the present disclosure;

FIG. 7 is a flow chart of an example of a process of determiningdestination-related information according to some embodiments of thepresent disclosure;

FIG. 8 is a flow chart of an example of a process of receivingdestination-related information device by a passenger terminal accordingto some embodiments of the present disclosure;

FIG. 9 -A is a flow chart of an example of a process of predictingcurrent destination-related information according to some embodiments ofthe present disclosure;

FIG. 9 -B is a flow chart of an example of a process of receiving andprocessing destination-related information by a passenger terminaldevice according to some embodiments of the present disclosure;

FIG. 10 -A is a flow chart of an example of a process of generatingdestination-related information according to some embodiments of thepresent disclosure;

FIG. 10 -B is a flow chart of an example of a process of building a POIclassification model according to some embodiments of the presentdisclosure;

FIG. 11 is a flow chart of an example of a process of providing a travelroute by a POI engine according to some embodiments of the presentdisclosure;

FIG. 12 -A is a flow chart of an example of a process of providingtravel method plan by a POI engine according to some embodiments of thepresent disclosure;

FIG. 12 -B is a flow chart of an example of a process of processingtravel information by a POI engine according to some embodiments of thepresent disclosure;

FIG. 13 is a flow chart of an example of a process of detecting avehicle status by a POI engine according to some embodiments of thepresent disclosure;

FIG. 14 is a flow chart of an example of a process of determiningwhether positioning information of a user is abnormal by a POI engineaccording to some embodiments of the present disclosure;

FIG. 15 -A is a flow chart of an example of a process of determiningwhether positioning information of a user is abnormal by a POI engineaccording to some embodiments of the present disclosure;

FIG. 15 -B is a flow chart of an example of a process of determiningwhether positioning information is abnormal by a POI engine according tosome embodiments of the present disclosure;

FIG. 16 is a structure of a mobile device that is configured toimplement a specific system disclosed in the present disclosure; and

FIG. 17 is a structure of a computing device that is configured toimplement a specific system disclosed in the present disclosure.

DETAILED DESCRIPTION

In order to illustrate the technical solutions related to theembodiments of the present disclosure, brief introduction of thedrawings referred to in the description of the embodiments is providedbelow. Obviously, drawings described below are only some examples orembodiments of the present disclosure. Those having ordinary skills inthe art, without further creative efforts, may apply the presentdisclosure to other similar scenarios according to these drawings.Unless stated otherwise or obvious from the context, the same referencenumeral in the drawings refers to the same structure and operation.

As used in the disclosure and the appended claims, the singular forms“a,” “an,” and “the” include plural referents unless the content clearlydictates otherwise. It will be further understood that the terms“comprises,” “comprising,” “includes,” and/or “including” when used inthe disclosure, specify the presence of stated steps and elements, butdo not preclude the presence or addition of one or more other steps andelements.

Some modules of the system may be referred to in various ways accordingto some embodiments of the present disclosure, however, any amount ofdifferent modules may be used and operated in a client terminal and/or aserver. These modules are intended to be illustrative, not intended tolimit the scope of the present disclosure. Different modules may be usedin different aspects of the system and method.

According to some embodiments of the present disclosure, flow charts areused to illustrate the operations performed by the system. It is to beexpressly understood, the operations above or below may or may not beimplemented in order. Conversely, the operations may be performed ininverted order, or simultaneously. Besides, one or more other operationsmay be added to the flowcharts, or one or more operations may be omittedfrom the flowchart.

Embodiments of the present disclosure may be applied to differenttransportation systems including but not limited to land transportation,sea transportation, air transportation, space transportation, the like,or any combination thereof. A vehicle of the transportation systems mayinclude a rickshaw, travel tool, taxi, chauffeured car service, hitch,bus, rail transportation (e.g., a train, a bullet train, high-speedrail, and subway), ship, airplane, spaceship, hot-air balloon,driverless vehicle, the like, or any combination thereof. Thetransportation system may also include any transportation system thatapplies management and/or distribution, for example, a system forsending and/or receiving an express. The application scenarios ofdifferent embodiments of the present disclosure may include but is notlimited to one or more webpages, browser plugins and/or extensions,client terminals, custom systems, intracompany analysis systems,artificial intelligence robots, or the like, or any combination thereof.It should be understood that application scenarios of the system andmethod disclosed herein are only some examples or embodiments. Thosehaving ordinary skills in the art, without further creative efforts, mayapply these drawings to other application scenarios. For example, othersimilar user order receiving system.

The term “user,” “passenger,” “requester,” “service requester,” and“customer” in the present disclosure are used interchangeably to referto an individual, an entity or a tool that may request or order aservice. The party may be an individual or device. Also, the term“driver,” “provider,” “service provider,” and “supplier” in the presentdisclosure are used interchangeably to refer to an individual, anentity, or a device that may provide a service or facilitate theproviding of the service. In addition, the term “user” in the presentdisclosure may refer to an individual, an entity, or a device that mayrequest a service, order a service, provide a service, or facilitateprovision of the service.

FIG. 1 -A is a schematic diagram of a network environment containing anon-demand service system according to some embodiments of the presentdisclosure. The network environment 100 may include an on-demand servicesystem 105, one or more passenger terminal devices 120, one or moredatabases 130, one or more driver terminal devices 140, one or morenetworks 150, and one or more information sources 160. The on-demandservice system 105 may include a POI (Point of Interest) engine 110. Insome embodiments, the POI engine 110 may be a system configured toanalyze the collected information to generate an analytical result. ThePOI engine 110 may be a server, or a server group connected via a wiredor a wireless network. The server group may be centralized (e.g., a datacenter) or distributed (e.g., a distributed system). The POI engine 110may be centralized or distributed.

In the present disclosure, “passenger,” “passenger terminal,” and“passenger terminal device,” may be used interchangeably. In the presentdisclosure, “driver,” “driver terminal,” and “driver terminal device”may be used interchangeably. Each of the passenger terminal 120 and thedriver terminal 140 may be referred to as a user. Each of the passengerterminal 120 and the driver terminal may be an individual, a device, orother entity directly relating to service orders, such as a servicerequester and a service provider respectively. A passenger may be aservice requester. The passenger may also include a user of thepassenger terminal device 120. In some embodiments, the user of thepassenger terminal device is not the passenger himself. For example, auser A of the passenger terminal device 120 may request an on-demandservice, accept an on-demand service, or receive other information orinstructions sent by the on-demand service system 105 for a passenger Busing the passenger terminal device 120. The user of the passengerterminal device 120 may also be referred to as a passenger in thepresent disclosure. A driver may be a service provider. The driver mayinclude a user of the driver terminal device 140. In some embodiments,the user of the driver terminal device may not be the actual driver. Forexample, a user C of the driver terminal device 140 may accept anon-demand service or receive other information or instructions sent bythe on-demand service system 105 for a driver D using the driverterminal device 140. The user of the driver terminal device 140 may alsobe referred to as a driver in the present disclosure. In someembodiments, the passenger terminal 120 may include a desktop computer120-1, a laptop computer 120-2, a built-in device of a vehicle 120-3, amobile device 120-4, the like, or any combination thereof. Herein, thebuilt-in device 120-3 may be a carputer, or the like. The mobile device120-4 may be a smartphone, a personal digital assistance (PDA), a tabletcomputer, a handheld gaming device, smart glasses, a smartwatch, awearable device, a virtual reality device, an augmented reality device(e.g., Google™ Glass, Oculus Rift™, HoloLens™, Gear™ VR, etc.), or thelike, or any combination thereof. The driver terminal device 140 mayalso include one or more similar devices described above.

The POI engine 110 may directly access information stored in thedatabase 130 and/or read information from or write information to thedatabase 130. The POI engine 110 may also access information provided bythe user terminal device 120 or 140 via the network 150. In someembodiments, the database 130 may include any device that is capable ofstoring data. The database 130 may be used to store data that arecollected from the passenger 120 and/or the driver 140, and data thatare used, generated and outputted by the POI engine 110. The database130 may be local or remote. The database 130 and the on-demand servicesystem 105 and/or one or more portions of the system 105 (e.g., the POIengine 110) may be connected via one or more wired and/or wirelesscommunication links.

The network 150 may be a single network or a combination of networks.For example, the network 150 may include a local area network (LAN), awide area network (WAN), a public network, a private network, aproprietary network, a public switched telephone network (PSTN), theInternet, a wireless network, a virtual network, or any combinationthereof. The network 150 may include multiple network access points,such as a wired or wireless access point, including a base station150-1, a base station 150-2, a network switched point, etc. Throughthese access points, any data source may be connected to the network 150and transmit information via the network 150. Merely for illustration,the driver terminal device 140 in a transportation service is taken asan example, and it is not intended to limit the scope of the presentdisclosure. The driver terminal device 140 may be a mobile phone, atablet computer, etc. The network environment 100 of the driver terminaldevice 140 may be a wireless network (e.g., Bluetooth® network, wirelesslocal area network (WLAN), Wi-Fi, WiMax, etc.), a mobile network (e.g.,2G, 3G, 4G, etc.), or other communication methods (e.g., virtual privatenetwork (VPN), shared network, nearfield communication (NFC), ZigBee,etc.).

The information source 160 may be a source configured to provide otherinformation to the system 105. For example, the information source 160may provide the system with service information, such as weatherconditions, traffic information, information of laws and regulations,news events, life information, life guide information, or the like. Theinformation source 160 may be implemented using a single central server,multiple servers connected via a network, multiple personal devices,etc. When the information source is implemented using multiple personaldevices, the personal devices can generate content (e.g., as referred toas the “user-generated content”), for example, by uploading text, voice,image and video to a cloud server. An information source may thus begenerated by the multiple personal devices and the cloud server.

Taking a transportation service as an example, the information source160 may include a municipal service system containing map informationand city service information, a real-time traffic broadcasting system, aweather broadcasting system, a news network, a social network, or thelike. The information source 160 may be a physical device, such as acommon speed measuring device, a sensor, or an IOT (Internet of things)device, including a vehicle speedometer, a radar speedometer, atemperature and humidity sensor, etc. The information source 160 may bea source configured to obtain news, messages, real-time roadinformation, or the like. For example, the information source 160 may bea network information source that includes an Internet news group basedon Usenet, a server over the Internet, a weather information server, aroad condition information server, a social network server, or the like,or any combination thereof. Taking food delivery service as an example,the information source 160 may be a system storing information ofmultiple food providers in a particular region, a municipal servicesystem, a real-time traffic broadcasting system, a weather broadcastingsystem, a news network, a rules system storing laws and regulations ofthe district, a local social network system, or the like, or anycombination thereof. The examples described herein are not intended tolimit the scope of the information source or the type of servicesprovided by the information source. Any device or network that canprovide information of the services may be designated as an informationsource in the present disclosure.

In some embodiments, the on-demand service system 105 and differentsections in the network environment 100 may be communicated based onorders. In the present disclosure, “service,” “order,” or “serviceorder” may refer to a specific task or transaction that is performed orimplemented by an individual or an entity for other individuals orentities. The subject matter of the order may be a product. In someembodiments, the product may be a tangible product or an intangibleproduct. The tangible product may be any object with a shape or a size,including food, medicine, commodities, chemical products, electricalappliances, clothing, vehicles, house estates, luxuries, or the like, orany combination thereof. The intangible product may include serviceproducts, financial products, intellectual products, Internet products,or the like, or any combination thereof. The Internet products mayinclude any product that satisfies the user's requirements oninformation, entertainment, communication, or business. There are manymethods of classifying the Internet products. Taking the classificationmethod based on host platform as an example, the Internet products mayinclude personal host products, Web products, mobile Internet products,commercial host platform products, built-in products, or the like, orany combination thereof. The mobile Internet product may be a software,a program or a system used in mobile terminals. Herein, the mobileterminal may include but is not limited to a laptop computer, a tabletcomputer, a mobile phone, a personal digital assistant (PDA), anelectronic watch, a POS machine, a carputer, a television, or the like,or any combination thereof. And the mobile Internet product may includevarious software or applications of social communication, shopping,travel, entertainment, learning, or investment used in the computer orthe mobile phone. The travel software or application may be a tripsoftware or application, a vehicle booking software or application, amap software or application, or the like. The vehicle booking softwareor application may be used to book horses, carriages, rickshaws (e.g.,two-wheeled bicycles, three-wheeled bicycles, etc.), vehicles (e.g.,taxis, buses, etc.), trains, subways, ships, aircrafts (e.g., planes,helicopters, space shuttles, rockets, hot air balloons, etc.), or thelike, or any combination thereof.

FIG. 1 -B is a schematic diagram of a network environment 100 accordingto another embodiment of the present disclosure. FIG. 1 -B is similar toFIG. 1 -A. In FIG. 1 -B, the database 130 is independent, and may bedirectly connected to the network 150. The on-demand service system 105or a part of the system 105 (e.g., the POI engine 110), and/or the userterminal devices 120 or 140 may directly access the database 130 via thenetwork 150.

In FIGS. 1 -A and/or FIG. 1 -B, the database 130 and the on-demandservice system 105, a part of the system 105 (e.g., the POI engine 110),and/or the user terminal device 120 or 140 may be connected in differentways. The access permission of each device to the database 130 may belimited. For example, the on-demand service system 105 or a part of thesystem 105 (e.g., the POI engine 110) may have the highest level ofaccess permission, e.g., permission to read or modify public or personalinformation in the database 130. The passenger terminal device 120 orthe driver terminal device 140 may be permitted to read some of thepublic information or the personal information relating to the userswhen certain conditions are satisfied. For example, the on-demandservice system 105 may update or modify the public information or theuser related information in the database 130, based on one or moreexperiences of a user (a passenger or a driver) using the on-demandservice system 105. As another example, when receiving a service orderfrom a passenger 120, a driver 140 may view some of the information ofthe passenger 120 in the database 130. However, the driver 140 may notmodify the information of the passenger 120 in the database 130 onhis/her own, but may only report the modification to the on-demandservice system 105 so that the system 105 may determine whether tomodify the information of the passenger 120 in the database 130accordingly or not. As another example, when receiving a request ofproviding service from a driver 140, a passenger 120 may view some ofthe information (e.g., user rating information, driving experiences,etc.) of the driver 140 in the database 130, however, the passenger 120may not modify the information of the driver 140 in the database 130 onhis/her own, but may only report the modification to the on-demandservice system 105 so that the system 105 may determine whether or notto modify the information of the driver 140 in the database 130accordingly.

It should be noted that the above description of the service systembased on a location is provided for the purpose of illustration, and notintended to limit the scope of the present disclosure. For personshaving ordinary skills in the art, modules may be combined in variousways, or connected with other modules as sub-systems. Various variationsand modifications may be conducted under the teaching of the presentdisclosure. However, those variations and modifications may not departthe spirit and scope of this disclosure. For example, the database 130may be a cloud computing platform with data storing function thatincludes but is not limited to a public cloud, a private cloud, acommunity cloud, a hybrid cloud, etc. All such modifications are withinthe protection scope of the present disclosure.

FIG. 2 is a schematic system diagram of an on-demand service system 105according to some embodiments of the present disclosure. For brevity,the on-demand service system 105 is not shown in the figure and the POIengine 110 is illustrated as an example. The POI engine 110 may includeone or more processing modules 210, one or more storage modules 220, oneor more passenger interfaces 230, and one or more driver interfaces 240.The POI engine 110 may be centralized or distributed. One or moremodules of the POI engine 110 may be local or remote. In someembodiments, the POI engine 110 may be a web server, a file server, adatabase server, an FTP server, an application server, a proxy server, amail server, or the like, or any combination thereof.

In some embodiments, the POI engine 110 may receive information fromand/or send processed information to the passenger terminal device 120through the passenger interface 230. In some embodiments, the POI engine110 may receive information from and/or send processed information tothe driver terminal device 140 through the driver interface 240. Themethod of sending or receiving the information may be direct. Forexample, information may be directly obtained from one or more passengerterminal devices 120 and/or one or more driver terminal devices 140through the passenger interface 230 and/or the driver interface 240 viathe network 150. As another example, information may be directlyreceived from the information source 160. The method of sending orreceiving the information may be indirect. For example, the processingmodule 210 may obtain information by sending a request to one or moreinformation sources 160. The information in the information source 160may include but is not limited to weather conditions, road conditions,traffic conditions, news events, social activities, or the like, or anycombination thereof. The POI engine 110 may be configured to communicatewith the database 130. In some embodiments, the order pushing engine maybe configured to extract information such as map data, information ofhistorical orders, information of an amount of time adjustment, etc. Theinformation of historical orders may include departure locations of thehistorical orders, destinations of the historical orders, pickup timesof the historical orders, a price of each of historical orders, or thelike, or any combination thereof. The information of amount of timeadjustment described above may include values of time adjustment fordifferent geographic areas in different time periods. The POI engine 110may be configured to send, to the database 130, information receivedfrom the passenger interface 230 and/or the driver interface 240. Theprocessed result of the information obtained by the processing module210 of the POI engine 110 may also be sent to the database 130.

In some embodiments, the processing module 210 may be configured toprocess related information. The processing module 210 may send theprocessed information to the passenger interface 230 and/or the driverinterface 240. The methods of processing information may include but isnot limited to storing, classifying, filtering, converting, calculating,retrieving, predicting, training, or the like, or any combinationthereof. In some embodiments, the processing module 210 may include butis not limited to a central processing unit (CPU), an applicationspecific integrated circuit (ASIC), an application specific instructionset processor (ASIP), a physics processing unit (PPU), a digitalprocessing processor (DSP), a field-programmable gate array (FPGA), aprogrammable logic device (PLD), a processor, a microprocessor, acontroller, a microcontroller, or the like, or any combination thereof.

In some embodiments, the passenger interface 230 and the driverinterface 240 may receive information sent by the passenger terminaldevice 120 and the driver terminal device 140, respectively. Thereceived information may be information about requests for service,information about a current location of a passenger or a driver,information about a text sent by a passenger terminal device 120 or adriver terminal device 140, or any other information sent by thepassenger terminal device 120 or the driver terminal device 140 (e.g.,uploaded information of images, video content, audio content, etc.). Thereceived information may be stored in the storage module 220, calculatedand processed by the processing module 210, or sent to the database 130.

In some embodiments, information received by the passenger interface 230and the driver interface 240 may be sent to the processing module 210.The processing module 210 may then process the information to generateprocessed information. The information generated by the processingmodule 210 may be optimized information of the current location of thepassenger and/or the driver, information related to a pickup locationand/or a destination of the order. In some embodiments, the informationgenerated by the processing module 210 may be confirmation informationof the location of the passenger and/or the driver, such as whether thelocation of the passenger or the driver is abnormal. In someembodiments, the information generated by the processing module 210 mayinclude travel methods, an order completion rate with respect to eachtravel method or a combination of multiple travel methods, or the like,or any combination thereof. The travel method may include a chauffeuredcar service, a hitchhiking, a taxi, a bus, a train, a bullet train, ahigh-speed rail, a subway, a ship, an airplane, or the like, or anycombination thereof. In some embodiments, the processed informationgenerated by the processing module 210 may be route-related information.The route-related information may include the number of routes, thedeparture location and destination of each route, the required time andfee for each route corresponding to different travel methods

In some embodiments, the information generated by the processing module210 may be sent to the passenger terminal device 120 and/or the driverterminal device 140 via the passenger interface 230 and/or the driverinterface 240. In some embodiments, the information generated by theprocessing module 210 may be stored in the database 130, the storagemodule 220, or any other module or unit of the on-demand service system105 that can store data.

In some embodiments, the database 130 may be configured in thebackground of the on-demand service system 105 (as shown in FIG. 1 -A).In some embodiments, the database 130 may be a stand-alone device andmay directly connect with the network 150 (as shown in FIG. 1 -B). Insome embodiments, the database 130 may be a part of the on-demandservice system 105. In some embodiments, the database 130 may be a partof the POI engine 110. The database 130 may refer to any device that canstore data. The database 130 may be used to store data collected fromthe user terminal device 120, user terminal device 140, or theinformation source 160. The database 130 can also store various datagenerated by the POI engine 110. The database 130 or other storagedevice in the system may refer to any media with a read/write function.The database 130 or other storage device in the system may be aninternal device of the system 105 or an external device connected to thesystem 105. The connection between the database 130 and other storagedevice in the system may be wired or wireless. The database 130 or otherstorage device in the system may include but is not limited to ahierarchical database, a network database, a relational database, or thelike, or any combination thereof.

The database 130 or other storage device of the system may digitizeinformation, and then store the digitalized information in anelectrical, magnetic or optical storage device. The database 130 orother storage device of the system may be configured to store variousinformation, such as programs, data, or the like. The database 130 orother storage device of the system may be a device configured to storeinformation in the form of electric energy, e.g., multiple memories, arandom-access memory (RAM), a read-only memory (ROM), or the like. Therandom-access memory may include but is not limited to a dekatron, aselectron, a delay line memory, a Williams tube, a dynamic random accessmemory (DRAM), a static random access memory (SRAM), a thyristor randomaccess memory (T-RAM), a zero-capacitor random memory (Z-RAM), or thelike, or any combination thereof. The read-only memory may include butis not limited to a magnetic bubble memory, a magnetic button linememory, a thin film memory, a magnetic plated wire memory, amagnetic-core memory, a magnetic drum memory, a CD-ROM, a hard disk, atape, an early non-volatile memory (NVRAM), a phase change memory, amagnetic resistance random access memory, a ferroelectric random accessmemory, a nonvolatile SRAM, a flash memory, an electronic erasableprogrammable read-only memory, an erasable programmable read-onlymemory, a programmable read-only memory, a mask ROM, a floating gateconnected random access memory, a Nano-RAM, a race-track memory, avariable resistive memory, a programmable metallization memory, or thelike, or any combination thereof. The database 130 or other storagedevice of the system may be a device configured to store informationutilizing magnetic energy, such as a hard disk, a soft disk, a tape, amagnetic core storage, a magnetic bubble memory, a USB flash disk, aflash disk, or the like. The database 130 or other storage device of thesystem may be a device configured to store information by opticalmethod, such as a compact disc (CD), a digital video disc (DVD), or thelike. The database 130 or other storage device of the system may be adevice configured to store information by magneto-optical method, e.g.,magnetic disc, or the like. The method of accessing the database 130 orother storage device of the system 105 may include random access, serialaccess, read-only access, or the like, or any combination thereof. Thedatabase 130 or other storage device of the system may be a volatilememory or a nonvolatile memory. It should be noted that the abovedescription of storage devices is provided for the purpose ofillustration, and not intended to limit the scope of the presentdisclosure. The database 130 or other storage devices in the system 105may be local or remote.

It should be noted that the processing module 210 and/or the database130 may reside in the user terminal device 120 or 140, or implementcorresponding functions via a cloud computing platform. Herein, thecloud computing platform may include but is not limited to astorage-based cloud platform mainly used for data storing, acalculation-based cloud platform mainly used for data processing, ahybrid cloud platform used for both data storing and processing, etc.The cloud platform used by the user terminal 120 or 140 may be a publiccloud, a private cloud, a community cloud, a hybrid cloud, or the like.For example, some order information and/or non-order informationreceived by the user terminal device 120 or 140 may be calculated and/orstored by the user cloud platform according to actual requirements.Other order information and/or non-order information may be calculatedand/or stored by a local processing module and/or a system database.

It should be understood that the POI engine 110 illustrated in FIG. 2may be implemented by a variety of methods. For example, the POI engine110 may be implemented by a hardware, a software, or a combination ofthem. Herein, the hardware may be implemented by a dedicated logic. Thesoftware may be stored in the memory, and may be implemented by anappropriate instruction execution system (e.g., a microprocessor, adedicated design hardware, etc.). It will be appreciated by thoseskilled in the art that the above methods and systems may be implementedby computer-executable instructions and/or embedding in control codes ofa processor. For example, the control codes may be provided by a mediumsuch as a disk, a CD or a DVD-ROM, a programmable memory device such asread-only memory (e.g., firmware), or a data carrier such as an opticalor electric signal carrier. The POI engine 110 and its modules may notonly be implemented by large scale integrated circuits or gate arrays,semiconductor devices (e.g., logic chips, transistors, hardware circuitsof programmable hardware devices such as field programmable gate arrays,programmable logic devices, etc.) but may also be implemented bysoftware executed in various types of processors, or a combination ofthe above hardware circuits and software (e.g., firmware).

It should be noted that the above description of the POI engine 110 isprovided for the purpose of illustration, and not intended to limit thescope of the present disclosure. For persons having ordinary skills inthe art, modules may be combined in various ways, or connected withother modules as sub-systems. Various variations and modifications maybe conducted under the teaching of the present disclosure. However,those variations and modifications may not depart the spirit and scopeof this disclosure. For example, the processing module 210, the storagemodule 220, the passenger interface 230, the driver interface 240, andthe database 130 may be different modules in one system, or may becombined as a single module to perform the corresponding functions oftwo or more of the above modules. For example, the passenger interface230 and the driver interface 240 may be combined as a single interfacethat can interact with the passenger terminal device 120 and the driverterminal device 140 at the same time. For example, the database 130 maybe included in the POI engine 110, and all functions of the database 130and the storage module 220 may be implemented by a single storagedevice. All such modifications are within the protection scope of thepresent disclosure.

FIG. 3 is a schematic diagram of the processing module 210 of the POIengine 110 according to some embodiments of the present disclosure. Theprocessing module 210 may include an address analyzing unit 310, animage processing unit 320, a voice processing unit 330, a grouping unit340, a calculation unit 350, a route planning unit 360, a ranking unit370, a determining unit 380, a text processing unit 390 and/or a modeltraining unit 395. The determining unit 380 may further include acalculation sub-unit 385. It should be noted that the above descriptionsof the structure of the processing module 210 of the POI engine 110 areprovided for illustration purposes, and not intended to limit the scopeof the present disclosure. In some embodiments, the processing module210 may also include other units. In some embodiments, some of the aboveunits may be removed. In some embodiments, some of the above units maybe combined into one unit to perform corresponding functions. In someembodiments, the above units may be independent. In some embodiments,the above units may be interconnected.

The address analyzing unit 310 may be configured to process receivedaddress information. The address information may be obtained from thepassenger interface 230, the driver interface 240, the database 130, theinformation source 160, or other units or sub-units of the processingmodule 210. The methods of processing the address information mayinclude analysis and/or reverse analysis of the address information. Thereverse analysis of the address information may include converting oneor more coordinates into text description information of a locationcorresponding to the coordinates. The analysis of the addressinformation may refer to converting text description information of alocation (e.g., a text description of the location) into addresscoordinate information. The address coordinate information may includeone or more coordinates in a coordinate system, e.g. longitude-latitudecoordinates. The text description information may be one or more of theiconic and representative names of a location, such as a common name, astreet number, a name of a landmark of the location, etc. The addressanalyzing unit 310 may send processed address information to otherunits. The other units may include but are not limited to an imageprocessing unit 320, a voice processing unit 330, a route planning unit360, a ranking unit 370, a determining unit 370, a passenger interface230, a driver interface 240, or the like, or any combination thereof.

The image processing unit 320 may be configured to process a receivedimage (e.g. a still image, a video, etc.) to obtain processedinformation. The method of processing may include one or more imageprocessing methods such as image enhancement, image identification,image segmentation, image measurement (e.g. calculation of angles ofview, distances, or perspective relations), or the like. The imageprocessing unit 320 may receive the image information from the passengerinterface 230, the driver interface 240, the database 130, theinformation source 160, or one or more combinations of other units orsub-units of the processing module 210. The image information identifiedby the image processing unit 320 may be inputted to the addressanalyzing unit 310 to search corresponding address information. In someembodiments, the processed results generated by the image processingunit 320 may be sent to the route planning unit 360.

The voice processing unit 330 may be configured to process voiceinformation received from the passenger terminal device 120 and/or thedriver terminal device 140. The method of processing may include noisereduction, voice and/or speech recognition, semantic recognition, personrecognition, or the like. The voice processing unit 330 may output therecognized audio information to other units for processing. For example,the voice processing unit 330 may send the recognized addressinformation to the address analyzing unit 310, the route planning unit360, or the like.

The grouping unit 340 may be configured to group received information.The number of the groups may be one, two, three, four, five, etc. Insome embodiments, the information may be address information of thepassenger and/or the driver, including a location coordinate and alocation name. For example, the grouping unit 340 may group the currentGPS coordinates of vehicles received from the driver interface 240 anddetermine the status of the vehicles based on the grouping result. Themethod of grouping may include one or more clustering algorithms such asK-MEANS algorithm, K-MEDOIDS algorithm, CLARANS algorithm, etc. In someembodiments, the grouping unit 340 may group the received informationand output the grouped information. For example, the grouping unit 340may group historical orders based on distances between the departurelocations of the historical orders and the current location of thepassenger, and frequencies of use of the locations in the orders (e.g.,the number of historical orders that relate to a particular departurelocation and the current location) during a particular time period. Theresult generated by the grouping unit 340 may be further sent to otherunits or sub-units of the processing module 210 (e.g. the route planningunit 360). The processing module 210 may process the result. The resultmay also be sent to the passenger interface 230 and/or the driverinterface 240. Then the result may be outputted by the passengerinterface 230 and/or the driver interface 240.

According to some embodiments of the present disclosure, the clusteringalgorithms may include but are not limited to segmentation clusteringalgorithms, hierarchical clustering algorithms, constrained clusteringalgorithms, clustering algorithms of the machine learning, clusteringalgorithms used in high dimensional data, or the like, or anycombination thereof.

The segmentation clustering algorithms may include but are not limitedto density-based methods, grid-based methods, graph theory-basedmethods, and square error-based iterative redistribution clusteringalgorithms. The density-based methods may include but are not limited toDensity-Based spatial Clustering of Applications with Noise (DBSCAN),Ordering Points to Identify the Clustering Structure (OPTICS),Density-based Clustering (DENCLUE), Clustering Using References Density(CURD), etc. The grid-based methods may include but are not limited toSTatistical INformation Grid (STING), CLustering In QUEst (CLIQUE),WAVE-CLUSTER, etc. The square error-based iterative redistributionclustering algorithms may include but are not limited toprobability-based clustering, nearest neighbor clustering, K-Medoidsalgorithm, K-Means algorithm, CLARANS algorithm, etc. The hierarchicalclustering algorithms may include but are not limited to agglomerativeclustering algorithm and divisive clustering algorithm. The CURE(Clustering Using REpresentatives) algorithm, ROCK (RObust Clusteringusing linKs) algorithm and CHAMELEON algorithm may be the mostrepresentative methods of the agglomerative clustering algorithm. Theagglomerative clustering algorithms may also include but are not limitedto Single-Link, Complete-Link and Average-Link. The clusteringalgorithms of the machine learning may include but are not limited toartificial neural network method and method based on theory ofevolution. The method based on theory of evolution may include SimulatedAnnealing (SA) and Genetic Algorithms (GA). The clustering algorithmsused in high dimensional data may include but are not limited tosubspace clustering and joint clustering.

The calculation unit 350 may be configured to calculate receivedinformation. The information may be obtained from the passengerinterface 230, the driver interface 240, the database 130, theinformation source 160 or other units or sub-units of the processingmodule 210 such as the address analyzing unit 310. The calculationcontents may include a distance, time, an order completion rate,required fee, or the like, or any combination thereof. In someembodiments, the calculation unit 350 may calculate a probability of ahistorical travel route (e.g., a probability that a historical travelroute is selected). In some embodiments, the calculation unit 350 maycalculate probabilities of occurrence of departure locations and/ordestinations of historical orders (e.g., probabilities that departurelocations and/or destinations of historical orders are selected in thehistorical orders). In some embodiments, the calculation unit 350 maycalculate distances between a current location of a passenger and thedeparture locations of the historical orders. In some embodiments, thecalculation unit 350 may calculate an order completion rate and arequired fee at a certain location when a certain travel method isselected. In some embodiments, the calculation unit 350 may calculate anorder completion rate and a required fee at a certain time point when acertain travel method is selected. In some embodiments, the calculationunit 350 may calculate the distance, the required time, the requiredfee, the required walking distance, or the like, or any combinationthereof, from the departure location to the destination of an order. Thecalculation unit 350 may send the calculated results to one or moreother units such as the route planning unit 360, the ranking unit 370,etc.

The route planning unit 360 may calculate and plan a travel route forthe passenger and a driving route from the driver to the passenger basedon positioning information obtained from the passenger terminal device120 and/or the driver terminal device 140. The route planning unit 360may plan routes based on information provided by other units. Said otherunits may include an address analyzing unit 310, an image processingunit 320, a voice processing unit 330, a grouping unit 340, acalculation unit 350, a ranking unit 370, or the like, or anycombination thereof. In some embodiments, the route planning unit 360may plan routes based on information from the database 130 and/or theinformation source 160. In some embodiments, the route planning unit 360may comprehensively analyze and process information of historicalorders, map data, amounts of time adjustment received from the database130 and information related to a service received from the informationsource 160. After analyzing and processing the information, the routeplanning unit 360 may generate various routes for the passenger and/orthe driver to select. The historical orders may include pickup locationsof the historical orders, destinations of the historical orders,transaction times of the historical orders (e.g. the time when the orderis accepted by both the driver and the passenger), order completionrates, costs, or the like, or any combination thereof. The map data mayinclude geographic coordinates of artificial objects (e.g., streets,bridges, buildings, etc.), geographic coordinates of natural landscapes(e.g., various water areas, mountains, forests, wetlands, etc.), anddescriptive names or identifications (e.g. the number of a street, thename of a mansion, the name of a river, the name of a store, etc.),image information, three-dimensional models, or the like, of the objectsdescribed above. The information related to the service may includeweather information, traffic information, information of laws andregulations, news events, life information, life guide information, orthe like, or any combination thereof. Results generated by the routeplanning unit 360 (e.g. routes) may be sent to the passenger terminaldevice 120 and/or the driver terminal device 140 via the passengerinterface 230 and/or the driver interface 240 respectively. In someembodiments, the results generated by the route planning unit 360 may besent to the ranking unit 370 for processing to generate a result with aparticular sequence, or a priority.

The ranking unit 370 may be configured to rank received informationbased on a particular rule. The particular rule may be based on aprobability, a distance, a time sequence, an amount of required time, arequired fee, the number of employed travel methods, or the like, or anycombination thereof. The information processed by the ranking unit 370may be obtained from the calculation unit 350. In some embodiments, theranking unit 370 may rank alternative departure locations ordestinations based on the number or probability of occurrences of thedeparture locations and/or the destinations of the historical orders andsend the order to the passenger terminal device 120 and/or the driverterminal device 140 for selection based on the number of occurrencesfrom high to low. In some embodiments, the ranking unit 370 may rank atravel method and/or a route based on a required fee. In someembodiments, the ranking unit 370 may rank the travel methods and/or theroutes based on a required time. The result may be ranked in descendingor ascending order. In some embodiments, the ranking unit 370 may outputinformation relating to the ranking process. In some embodiments, theranking unit 370 may output information relating to the ranking processthat satisfies a preset condition. The preset condition may include ahighest using frequency of a certain address, a lowest required fee, aleast required time, a shortest walking distance, a smallest number ofthe travel methods, or any combination thereof.

The determining unit 380 may determine status of the passenger and/orthe driver. In some embodiments, the determining unit 380 may determineaccuracy and/or precision of the location information sent by thepassenger terminal device 120 and/or the driver terminal device 140. Insome embodiments, the determining unit 380 may determine the status of avehicle, for example, whether the vehicle is stationary, whether thevehicle is moving, the moving direction of the vehicle, the speed of thevehicle, the acceleration of the vehicle, or the like, or anycombination thereof. The determination of the status of the vehicle maybe used to calculate the required fee of an order by the calculationunit 350. The calculation of the required fee may be performed by thecalculation sub-unit 385 of the determining unit 380. In someembodiments, the determining unit 350 may determine a difference betweenthe positioning result obtained by a first positioning technology andthe positioning result obtained by a second positioning technology ormultiple positioning technologies, wherein the positioning result may bereceived from the driver terminal device 140. The difference may becalculated by the calculation sub-unit 385. Whether the positioninginformation obtained by using the first positioning technology isabnormal may be determined based on the difference. Based on thedetermining result, the POI engine 110 may be configured to determinewhether to send the order information to the driver terminal device 140.

The text processing unit 390 may be configured to process textinformation received by the processing module 210. In some embodiments,the text information may be processed by word segmentation, extractingcharacteristic text from text information, classifying thecharacteristic text, semantically recognizing the text information, orthe like, or any combination thereof. In some embodiments, the textprocessing unit 340 may be configured to process (e.g. perform adeletion operation, etc.) the content of the text information thatsatisfies a particular condition. The text information may be obtainedfrom the passenger interface 230, the driver interface 240, the database130, the information source 160, the storage module 220 or other unitsor sub-units in the processing module 210. The result generated by thetext processing unit 390 may be sent to other units for furtherprocessing.

The model training unit 395 may be configured to train a locationclassifier or a POI classification model. The model training unit 395may receive information from the database 130, the information source160, or other models or units of the on-demand service system 105, anduse the received information to train the location classifier and/or thePOI classification model. In some embodiments, the model training unit395 may identify an address classification type of a location containedin address information or text address data. In some embodiments, themodel training unit 395 may determine historical travel purposes orhistorical travel routes based on the historical order information of auser (e.g., a passenger). Then the service request of the passenger maybe responded and an appropriate destination and/or departure locationmay be recommended to the passenger based on the historical travelpurposes or the historical travel routes.

It should be noted that the above descriptions of the processing module210 of the POI engine 110 are provided for the purpose of illustration,and not intended to limit the scope of the present disclosure. Forpersons having ordinary skills in the art, modules may be combined invarious ways, or connected with other modules as sub-systems. Variousvariations and modifications may be conducted under the teaching of thepresent disclosure and on the condition that above functions arerealized. However, those variations and modifications may not depart thespirit and scope of this disclosure. For example, in some embodiments,the calculation unit 350 and the calculation sub-unit 385 may beintegrated into one unit or module to perform the calculating functions.As another example, in some embodiments, the processing module 210 mayinclude an independent accounting unit configured to calculate therequired fee for closing an order. In some embodiments, some units maybe omitted such as the text processing unit 390. In some embodiments,the processing module may include other units or sub-units. All otherimprovements and modifications recognized by a person with ordinaryskill in the art are within the scope of protection of the presentdisclosure.

FIG. 4 -A is a schematic block diagram of the passenger interface 230 ofthe POI engine 110 according to some embodiments of the presentdisclosure. The passenger interface 230 may include a passengerinformation receiving unit 410, a passenger information analyzing unit420, and/or a passenger information sending unit 430. The passengerinformation receiving unit 410 may be configured to receive informationfrom the passenger terminal device 120, and then may recognize, arrangeand classify the information. The contents of the information sent bythe passenger terminal device 120 may include the current location ofthe passenger terminal device 120 determined using a positioningtechnology, a current location or pick up location inputted by thepassenger that is using the passenger terminal device 120, otherinformation related to the current location of the passenger, thecurrent system time, the passenger's expected pickup time/arrivaltime/travel time, the passenger's choice/requirement/descriptioninformation for a service, the content/format/time/quantity ofinformation that the passenger is expected to receive, the time when thepassenger turns on/off the service application on the passenger terminaldevice 120, or the like, or any combination thereof. In someembodiments, the information sent by the passenger terminal device 120may be text information in natural languages inputted by the passengerin the passenger terminal device 120, or binary information sent by thepassenger terminal device 120. The information sent may be voiceinformation (including voice inputs of the passenger) recorded in theinput/output (I/O) module 510 of the passenger terminal device 120,image information (including still images or videos) obtained by the I/Omodule 510 of the passenger terminal device 120 (as shown in FIG. 5 ),or the like, or any combination thereof. The passenger terminal device120 may provide the information to the passenger information receivingunit 410 of the passenger interface 230 via the network 150.

The passenger information analyzing unit 420 may be configured toanalyze the passenger information received by the passenger informationreceiving unit 410. The analysis may include arranging or classifyingthe passenger information. The analysis may also include converting theformat, or extracting, analyzing or converting the content of thepassenger information to obtain a format that can be calculated,processed, or stored by the processing module 210 or the storage module220. Based on instructions or preferences of the passenger terminaldevice 120, the passenger information analyzing unit 420 may also beconfigured to convert the information processed by the processing module210 or stored in the storage module 220 into a format that can beaccessed or selected by the passenger terminal device 120. Then theinformation may be provided to the passenger information sending unit430. The passenger information sending unit 430 may be configured tosend the information to the passenger terminal device 120 via thenetwork 150, in which the information is that the POI engine 110 needsto send. The passenger information receiving unit 410 may be composed ofa wired or wireless receiving device that establishes a connection withthe passenger terminal device 120 via the network 150. Similarly, thepassenger information sending unit 430 may be composed of a wired orwireless sending device that establishes a connection with the passengerterminal device 120 via the network 150.

FIG. 4 -B is a schematic block diagram of the driver interface 240 ofthe POI engine 110 according to some embodiments of the presentdisclosure. As shown in FIG. 4 -B, the driver interface 240 may includea driver information receiving unit 415, a driver information analyzingunit 425, and a driver information sending unit 435. The driverinformation receiving unit 410 may be configured to receive informationfrom the driver terminal device 140, and then recognize, arrange andclassify the information. The contents of information sent by the drivemay include the current location of the driver determined using apositioning technology, the driving speed of the driver, the currentservice status (e.g., occupied, waiting for passengers, idle driving(e.g. driving without a passenger)) returned by the driver, theselection/confirmation/rejection information of the driver with respectto the service request, the information that the driver turns on/off theservice application on the driver terminal device 120, or the like, orany combination thereof. The type of the information sent by the driverterminal device 140 may be text information in natural language inputtedby the driver in the driver terminal device 140, binary information sentby the driver terminal device 140, audio information (including thedriver's voice input) recorded by the driver terminal device 140, imageinformation (e.g., still images or videos) obtained by the driverterminal device 140, other types of multimedia information, or the like,or any combination thereof. The driver terminal device 140 may send theinformation described above to the driver information receiving unit 415of the driver interface 240 via the network 150.

The driver information analyzing unit 425 may be configured to analyzethe driver information received by the driver information receiving unit410. The analyzing operation herein may include arranging or classifyingthe driver information, converting the content into a format. Theanalyzing operation may also include extracting, analyzing or convertingthe content of the information to obtain the format. The format of theinformation described above may be calculated, processed, or stored bythe processing module 210 or the storage module 220. Based oninstructions or preferences of the driver terminal device 140, thedriver information analyzing unit 425 may also be configured to convertthe information processed by the processing module 210 or theinformation stored in the storage module 220 into an information formatthat can be accessed or selected by the driver terminal device 140. Thedriver information analyzing unit 425 may provide the format-convertedinformation to the driver information sending unit 435. The driverinformation sending unit 435 may be configured to send the informationto the driver terminal device 140 via the network 150, in which theinformation is that the POI engine 110 needs to send to the driverterminal device 140. The driver information receiving unit 415 may becomposed of a wired or wireless receiving device that establishes aconnection with the driver terminal device 140 via the network 150.Similarly, the driver information sending unit 430 may be composed of awired or wireless sending device that establishes a connection with thedriver terminal device 140 via the network 150.

FIG. 5 is a schematic block diagram of the passenger terminal device 120and the driver terminal device 140 according to some embodiments of thepresent disclosure. The passenger terminal device 120 may include aninput/output (I/O) module 510, a display module 520, a positioningmodule 530, a communication module 540, a processing module 550, and astorage module 560. The passenger terminal device 120 may also includemore modules or components.

The input/output module 510 may receive one or more types of inputs thatthe passenger provides to an on-demand service application's interface,such as an image interface, a map interface, or an input/outputinterface. The input/output module 510 may output the information to thepassenger in one or more types. The input/output module 510 may collectand record one or more types of information such as optics, acoustics,electromagnetics, mechanics, etc. of the passenger or the outside (e.g.,the surrounding environment) in the form of still images, videos,voices, mechanical vibrations, etc., by a method such as signalconversion. The input and/or output may be in the form of acousticalsignals, optical signals, mechanical vibration signals, or the like, orany combination thereof. The display module 520 may display the imageinterface, the map interface, the input/output operating interface, theoperating system interface, or the like, of the on-demand serviceapplication. The positioning module 530 may determine the location ormotion status of the passenger based on one or more positioning/distancemeasuring technologies. More particularly, for example, thedetermination of the location or motion status of the passenger mayinclude calculating one or more motion parameters such as, the location,the speed, the acceleration, the angular speed, the route, or the like,or any combination thereof, of the passenger. The communication module540 may send or receive the information of the passenger terminal device120 by a wired or a wireless communication. For example, thecommunication module 540 may communicate with the passenger interface230 of the POI engine 110, so that the passenger terminal device 120 maysend information to the POI engine 110 or receive information from thePOI engine 110 via the passenger interface 230. In some embodiments, thepassenger terminal device 120 may communicate with the driver terminaldevice 140 via the communication module 540. For example, the passengerterminal device 120 and the driver terminal device 140 may communicatewith each other through Bluetooth® communication and/or infraredcommunication. A distance between the driver terminal device 140 and thepassenger terminal device 120 may be directly measured when theBluetooth® of both devices are turned on. The processing module 550 maycalculate, determine, or process the information obtained by thepassenger terminal device 120. The storage module 560 may store theinformation that is obtained, generated, calculated, determined, orprocessed by the input/output module 510, the positioning module 530,the communication module 540, or the processing module 550.

The positioning technology may include but is not limited to GlobalPosition System (GPS) technology, Global Navigation Satellite System(GLONASS) technology, Beidou Navigation System technology, GalileoPositioning System (Galileo) technology, Quasi-Zenith Satellite System(QASS) technology, base station positioning technology, and Wi-Fipositioning technology. The distance measuring technology may includebut is not limited to a distance measuring technology based onelectromagnetic waves, acoustic waves, or the like, or any combinationthereof. For example, the distance measuring technology based onelectromagnetic waves may utilize radio waves, infrared rays, visiblelights, or the like, or any combination thereof. The distance measuringtechnology based on radio waves may utilize Bluetooth® band, or othermicrowave bands. The distance measuring technology based on infraredrays may utilize near-infrared rays, mid-infrared rays, far-infraredrays, or the like, or any combination thereof. The distance measuringtechnology based on acoustic waves may utilize ultrasonic waves,infrasonic waves, acoustic waves at other frequencies, or the like, orany combination thereof. The distance measuring technology based onelectromagnetic waves or acoustic waves may measure the distanceaccording to one or more principles. For example, the distance measuringtechnology based on electromagnetic waves or acoustic waves may rely onthe time of wave propagation, the Doppler effect, an intensity of asignal, signal attenuation characteristics, or the like, or anycombination thereof.

The above description of the passenger terminal device 120 is alsoapplicable to the driver terminal device 140.

It should be noted that the above description of the service systembased on the user terminal device 120 or 140 is provided for the purposeof illustration, and not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, modules maybe combined in various ways, or connected with other modules assub-systems. Various variations and modifications may be conducted underthe teaching of the present disclosure. However, those variations andmodifications may not depart the spirit and scope of this disclosure.For example, the input/output module 510 and the display module 520 maybe different modules in a system, or a single module capable ofachieving functions of both modules. As another example, the positioningmodule 530 and the communication module 540 may be different modules, ora single module integrated in a hardware. All such modifications arewithin the protection scope of the present disclosure.

FIG. 6 is a schematic block diagram of the database 130 according tosome embodiments of the present disclosure. The database 130 may storeinformation of multiple contents. The database 130 may include one ormore sub-databases, such as historical order databases 610, mapdatabases 620, user databases 630, classification model databases 640,etc. In some embodiments in which one or more kinds of information arerequired by the POI engine 110 or other modules/units, the informationmay be extracted from the database 130.

The historical order database 610 may include historical orders of whichthe content may relate to departure locations, destinations, types ofthe departure locations, types of the destinations, departure locationtime/arrival time, pickup locations of the passenger and the driver,travel mileage, travel routes, a fare of the order service, tips of theorder service, a mileage rate of the order service, time-based fare ofthe order service, driving time, etc. The contents of the historicalorder may also relate to locations of the passenger/driver and drivingspeed at different time points during the service, average drivingspeed, the ratings of the passenger and/or the driver to the historicalorders, or the like.

The map database 620 may include geographic coordinates of artificialobjects such as streets, bridges, buildings, or the like. The mapdatabase 620 may include geographic coordinates of natural landscapessuch as water areas, mountains, forests, wetlands, or the like. The mapdatabase 620 may include descriptive names, identifications, or the like(e.g., the number of a street, building names, river names, shop names,etc.). The map database 620 may include image information of theartificial objects and the natural landscapes described above.

The information stored in the user database 630 may includeservice-related information of the user 120/140, such as account names,displayed names (e.g., nicknames), documentation numbers (e.g., a driverlicense, an ID card, etc.), a registration date, a user level/priority,traffic violation records, drunken driving records (e.g., driving whileintoxicated), and vehicle information of the driver 140, etc. The userdatabase 630 may also store other social information of the user120/140, such as credit records, criminal records, honors or rewardrecords, etc. The user database 630 may also store the profileinformation of the user 120/140, such as age, gender, nationality,address, work place, ethnicity, religious belief, educationalattainment, work experience, marital status, emotional states, languageproficiencies, professional skills, political tendencies, hobbies,favorite music/TV programs/movies/books, etc.

The classification model database 640 may be configured to storeinformation of location types related to locations, information ofmapping relationship between a location type and a descriptive name ofthe location type and the, correlation information between differentlocation types, etc. For example, the correlation information mayinclude a correlation coefficient between a particular location type andthe descriptive name of the location type, a correlation coefficientbetween two location types, a set relationship between two locationtypes, or the like. A location type may be considered as a set oflocations, including at least one location belonging to this locationtype. A certain location type may also include other location types asits sub-types. There may be intersecting and overlapping parts betweentwo location types (e.g., a certain location may belong to one or morelocation types at the same time). The location type can be a Cantor setor a fuzzy set. Each location type may have a distinct definition or“boundary.” Alternatively, the location types may have no distinct“boundaries.” For a location type that is a fuzzy set, each element inthe set may have a membership degree that represents its probability ofbelonging to this location type. The membership degree may be less thanor equal to 1. The information described above may be stored indifferent modules or components of a database 130. The informationdescribed above may also be stored separately in multiple databases 130.The multiple databases 130 may exchange information with each other viaa wired or a wireless communication.

FIG. 7 is a flow chart of an exemplary process of determiningdestination-related information by the system 105 according to someembodiments of the present disclosure. It should be noted that in someembodiments, the destination-related information can include location ofa destination, a type of the destination, a time when a passengerarrives at the destination, a route from a departure location to thedestination, an average speed from the departure location to thedestination, an employed travel method from the departure location tothe destination, a required fee from the departure location to thedestination, or the like, or any combination thereof. Thedestination-related information may relate to a destination, or multipledestinations.

As shown in FIG. 7 , in step 710, the passenger interface 230 of the POIengine 110 of the system 105 may receive location-related informationfrom the passenger terminal device 120 via the network 150. Thelocation-related information may include but is not limited to a currentlocation of a passenger, a location of the passenger at a future timepoint, a location of the passenger during a future time period, adeparture location designated by a passenger, a current time, adeparture time designated by a passenger, or the like.

The current location of the passenger may be collected by thepositioning module 530 of the passenger terminal device 120, or obtainedfrom the I/O module 510. Information related to the current location ofthe passenger may be one or more coordinates of the location of thepassenger determined by one or more positioning technologies.Information related to the current location of the passenger may alsoinclude a descriptive name of the current location inputted by thepassenger. In some embodiments, information related to the currentlocation may also include other information related to areas around thecurrent location of the passenger and/or the current location of thedriver, such as business areas, residential areas, sceneries, hospitals,schools, big buildings, bus stations, train stations, airports, bridges,crossroads, or the like, or any combination thereof. In someembodiments, the location-related information described above sent bythe passenger terminal device 120 and/or the driver terminal device 140may also include other information about surrounding areas of thecurrent location of the passenger in the form of pictures, videos,audios, etc. The pictures, videos, and audios described above may beobtained by the I/O module 510 (as shown in FIG. 5 ). For example, apassenger can use his or her mobile phone camera to take photos oflandmarks around him or her and upload the photos to the POI engine 110.As another example, the passenger terminal device 120 may obtain a voiceor a video of the passenger's surrounding areas and send the voice orvideo to the POI engine 110.

The departure location designated by the passenger may refer to adeparture location designated by the passenger (or other users of thepassenger terminal device 120) on the passenger terminal device 120. Insome embodiments, a passenger (or other users of the passenger terminaldevice 120) may input or select a departure location on an input box, alist, an icon array, etc. that is provided by the I/O module 510 of thedevice 120. In some embodiments, the passenger may also designate adeparture location on a map interface that is displayed on the passengerterminal device 120 by the display module 520 by operating a pointer, apushpin, etc. In some embodiments, the passenger may also provide theinformation of the departure location for the passenger terminal device120 by a voice input.

The current time may be a system time of an operating system of thepassenger terminal device 120 obtained by the processing module 550 ofthe passenger terminal device 120. The departure time designated by thepassenger may be inputted via the I/O module 510 of the passengerterminal device 120. The designated departure time may be a specifictime point or a time range. The length, and the starting and endingpoints of the time range may vary with application scenarios, thepassenger's current requirements and/or traffic conditions.

In step 720, the POI engine 110 may obtain historical information fromthe database 130. The structure and function of the database 130 isshown in FIG. 6 and described in the corresponding description of FIG. 6. The historical information may include information relating tohistorical orders stored in the historical order database 610. Thehistorical information may also include map information stored in themap database 620. The historical information may also includeinformation stored in the user database 630, such as service-relatedinformation of users, other social information, profile information,etc. The description of the information described above may be found inFIG. 6 , and is not repeated here.

It should be noted that, although step 720 is numbered after step 710,the numbers do not imply or represent any chronological order, butmerely serve as an illustration for brevity. Step 720 described abovemay be performed in parallel with step 710 or prior to step 710.

In step 730, the processing module 210 of the POI engine 110 maydetermine the destination-related information based on receivedlocation-related information and obtained historical information.

The processing module 210 of the POI engine 110 may predictlocations/descriptive names/location types of destinations thatpassengers expect to arrive at based on the historical information andthe location-related information. The processing module 210 may alsoplan at least one route from a departure location to a destination basedon the departure location and the destination. The processing module 210may also estimate the route-related information based on a routeplanning algorithm. The route-related information may include but is notlimited to a travel distance, a travel time, a time point of arriving atthe destination, a time delay caused by traffic congestions, a fuelconsumption, a driving speed, the number of traffic lights, a travelcost, a toll or the like.

In some embodiments, the route planning unit 360 of the processingmodule 210 may calculate and determine the route from a departurelocation to a destination based on one or more route optimizationalgorithms.

A criterion of determining the route may relate to an optimal totalcost. The total cost may be represented in different forms including forexample, a route distance, a travel time, an estimated time delay causedby traffic congestions, an estimated fuel consumption, an estimateddriving speed, the number of traffic lights, an estimated cost, a toll,or the like, or any combination thereof. The form of the total cost maybe based on one or more forms described above.

The route optimization algorithms described above may include but arenot limited to traditional route planning algorithms, graphicsalgorithms, intelligent bionic algorithms, and other algorithms.Traditional route arranging algorithms may include but are not limitedto simulated annealing (SA), artificial potential method, fuzzy logicarithmetic, Tabu Search (TS), etc. Graphic algorithms may include butare not limited to C-Space (also known as Visible-Space), Free-Space,Grid, etc. Intelligent bionic algorithms may include but are not limitedto ant colony algorithm, neural network algorithm, genetic algorithms(GA), particle swarm optimization (PSO) algorithm, etc. Other algorithmsmay include but are not limited to Dijkstra algorithm, Shortest Pathfaster algorithm (SPFA), Bellman-Ford algorithm, Johnson algorithm,Fallback algorithm, Floyd-Warshall algorithm, etc.

Based on routes determined by the algorithm described above, thecalculating module 350 may calculate and process the routes to obtainthe route-related information. The description of details of theroute-related information may be found in above description, and is notrepeated here.

The calculating module 350 may calculate the route-related informationdescribed above based on information obtained from the database 130and/or the information source 160. The obtained information may includebut is not limited to information of historical orders from thehistorical order database 610, map data from the map database 620,information from other sources 160 about weather conditions, calendars,holidays, social activities, laws and regulations, or the like, or anycombination thereof. The description of the information described abovemay be found in FIGS. 1 -A and 6, and is not repeated here.

In step 740, after determining the destination-related information viathe network interface 150, the POI engine 110 may transmit thedestination-related information to the passenger terminal device 120through the passenger interface 230. Then the destination-relatedinformation may be displayed and subsequently processed by the passengerterminal device 120. The transmitted destination-related information maybe the destination itself, the route from the current location of thepassenger terminal device 120 or the departure location designated bythe passenger to the destination, or the route-related informationdescribed above.

In some embodiments, the transmitted destination-related information mayrelate to a destination or multiple destinations. In some embodiments,the destination-related information relating to multiple destinationsmay be represented in the form of a list. More particularly, in someembodiments, the ranking unit 370 of the processing module 210 may rankthe multiple destinations. The criteria of ranking may be based on theroute-related information described above, such as an estimated routedistance, an estimated travel time, an estimated fuel consumption, anestimated fee, or the like, or any combination thereof. The ranking unit370 may rank the multiple destinations in ascending or descending orderbased on the route-related information mentioned above.

In step 750, the POI engine 110 may receive processed data related tothe destination-related information by the passenger of the passengerterminal device 120 through the passenger interface 230 via the networkmodule 150. The processed data related to the destination-relatedinformation by the passenger may include confirming, rejecting,selecting, adding, modifying the destination-related information, or thelike, or any combination thereof.

Alternatively, after receiving a processing by a passenger, theprocessing module 210 of the POI engine 110 may analyze and calculatethe processing to obtain a processing result. The processing result maycorrespond to a destination designated by the passenger, or a routecorresponding to a destination and/or destination-related information.

In step 760, the driver interface 240 of the POI engine 110 may send theprocessing result to at least one driver terminal device 140 via thenetwork 150. In step 770, the driver interface 240 of the POI engine 110may receive a response from a driver of the driver terminal device 140with respect to the processing result. Contents of the response mayinclude the driver's willingness/unwillingness to provide atransportation service for the passenger, additional conditions ofproviding the transportation service for the passenger, information ofthe current location, or the like, or any combination thereof. In step780, the POI engine 110 may process the driver's response describedabove to confirm the response. In some embodiments, the passengerinterface 230 of the POI engine 110 may send information indicative ofthe driver's willingness to provide a transportation service, additionalconditions, and information of the current location to the passengerterminal device 120 after the driver confirms to provide thetransportation service for the passenger. The passenger interface 230may also send other information of the driver to the passenger terminaldevice 120. Examples of such information may include service-relatedinformation of the driver, other social information, profileinformation, or the like, or any combination thereof.

It should be noted that the description of determining thedestination-related information by the POI engine 110 is provided forthe purposes of illustration, and is not intended to limit the scope ofthe present disclosure. For persons having ordinary skills in the art,steps may be combined in various ways, and various variations andmodifications may be conducted to achieve functions described aboveunder the teaching of the present disclosure. However, those variationsand modifications may not depart the spirit and scope of thisdisclosure. One or more of steps 710-780 may be omitted or removed, anda new step may be inserted into the steps described above. For example,after step 780, the POI engine 110 may receive a transaction report fromthe passenger terminal device 120 and/or the driver terminal device 140through the passenger interface 230 and/or the driver interface 240. Asanother example, in some embodiments, after determining thedestination-related information of the passenger, the POI engine maydirectly send the information to the driver terminal device 140, i.e.,step 740 and 750 are omitted and the driver is informed of the predicteddeparture location and destination of the passenger in advance. All suchmodifications are within the protection scope of the presentapplication.

FIG. 8 is a flow chart of an exemplary process of receivingdestination-related information device by the passenger terminal device120 according to some embodiments of the present disclosure.

In step 810, the passenger terminal device 120 may obtainlocation-related information by the positioning module 530 and/or theI/O module 510.

In step 820, the passenger terminal device 120 may send the obtainedlocation-related information to the on-demand service system 105, otherpassenger terminal devices 120, and/or one or more driver terminaldevices 140 through the communication module 540 via the network 150.

In some embodiments, the passenger terminal device 120 may send thelocation-related information to the on-demand service system 105. ThePOI engine 110 may process the location-related information. The POIengine 110 may generate the destination-related information based on thelocation-related information.

After step 820, the passenger terminal device 120 may receive thedestination-related information obtained from the system 105 by thecommunication module 540 in step 830. The destination-relatedinformation may be found in FIG. 7 and corresponding description, andwill not be further described.

In some embodiments, destination-related information received by thepassenger terminal device 120 may relate to multiple destinations. Theinformation relating to multiple destinations may be further representedor presented in the form of a list.

After step 830, the passenger terminal device 120 may display thereceived information by the display module 520. The information may bedisplayed in a text form or a Hypertext form. In some embodiments, thedestination-related information may further be displayed or representedin a hypertext marking language (HTML). In some embodiments, thedestination-related information may be displayed in a map interface.

In step 840, the I/O module 510 of the passenger terminal device 120 mayreceive processed data related to the destination-related information bythe passenger.

After receiving the process data related to the destination-relatedinformation by the passenger, the communication module 540 of thepassenger terminal device 120 may send the processing result in step850. The processing result may be sent to the on-demand service system105, other passenger terminal devices 120, or one or more driverterminal devices 140.

After step 850, the passenger terminal device 120 may receiveinformation from any other device. The information may be obtained fromthe system 105, other passenger terminal devices 120, or one or moredriver terminal devices 140. The information obtained from the system105 may include but is not limited to a receipt of receiving theprocessing by the passenger, a processing result of the destinationbased on the processing by the passenger, a notification of sending theinformation to one or more driver terminal devices 140 by the system105, responses to the destination-related result from one or more driverterminal devices 140, etc.

The description of process or steps of obtaining the destination-relatedinformation by the passenger terminal device 120 is provided for thepurposes of illustration, and is not intended to limit the scope of thepresent disclosure. For persons having ordinary skills in the art, stepsmay be combined in various ways. Various variations and modificationsmay be conducted under the teaching of the present disclosure. However,those variations and modifications may not depart the spirit and scopeof this disclosure. For example, in some embodiments, step 840 and step850 may be omitted after the passenger terminal device 120 receives thedestination-related information. All such modifications are within theprotection scope of the present disclosure.

FIG. 9 -A is a flow chart of an example of a process of predictingcurrent destination-related information according to some embodiments ofthe present disclosure.

In step 910, the POI engine 110 may obtain information of a currentdeparture location and information of a departure time from a passengerterminal device 120 through the passenger interface 230.

In step 920, the POI engine 110 may obtain information of historicalorders relating to the passenger terminal device 120 from a database130.

The POI engine 110 may obtain information of historical orders relatingto the passenger terminal device 120 and/or information of one or morehistorical orders during a time period. The time period may vary basedon factors such as account information of the user that relates to thepassenger terminal device 120, a frequency of use of the historicalorders of the user, an area that the order relates to, a current trafficcondition, etc. The time period may be preset, and the length of theperiod may be arbitrary. For example, the period may include but is notlimited to 1 month, 3 months, 6 months, 1 year or any other value.

The POI engine 110 may obtain information of historical orders relatingto the passenger terminal device 120, or information of one or morehistorical orders in surrounding areas of the current location relatingto the passenger terminal device 120. The surrounding area of thecurrent location may be an area that a distance between the currentlocation and any location in this area is less than a threshold. Thethreshold may be 1 kilometer, 2 kilometers, 5 kilometers, 10 kilometers,or any other value. The surrounding areas of the current location mayinclude a specific area. The threshold may vary based on factors such asaccount information of the user relating to the passenger terminaldevice 120, a location of the passenger terminal device 120, a currentstatus of the transportation service, etc. The specific area may be anadministrative division, a business area, a public area, or aresidential area, of any size. The specific area may be any other areathat is delimited by people. The specific area may also be a physicalgeographic area without distinct boundaries (e.g., a geographic areadelimited based on landform, climate, distributions of plants oranimals, etc.). The specific area may be delimited based on riversand/or mountains, etc.

Information of the historical orders may include information of adeparture location, a departure time, information of a destination, anarriving time, a driving time, an average speed, or the like, or anycombination thereof.

In step 930, the POI engine 110 may generate information of one or morecandidate destinations based on the information of the current departurelocation, the information of the departure time, and the information ofhistorical orders relating to the passenger terminal device 120. Thecalculation unit 350 of the processing module 210 may predict thedestination information based on information of historical departurelocations. The prediction may be evaluated based on a degree ofcorrelation between the current departure location and the departurelocations of the historical orders.

According to some embodiments of the present disclosure, when thedeparture location of historical orders is close to the currentdeparture location of the passenger, the degree of correlation betweenthe current order and the historical orders may be higher. According tosome embodiments, when the departure time of historical orders is closeto the current departure time of the passenger, the degree ofcorrelation between the current order and the historical orders may behigher. The proximity between the departure times of historical ordersand the current departure time of the passenger may refer to that thedeparture times of historical orders and the current departure time arein the same or similar years, months, days, status offorenoon/afternoon, hours and/or minutes.

According to some embodiments of the present disclosure, when departuretimes of historical orders and a current departure time of a passengerhave a certain periodical rule, the degree of correlation between thecurrent order and the historical orders may be higher. The periodicalrule may refer to that the current order and the historical orders havea certain repeatability or similarity and have a time interval inbetween. The time period may be an integral multiple of a unit timelength, such as a year, a month, a day, etc.

The calculation unit 350 of the processing module 210 may estimate adegree of correlation between a current order and a historical order bycalculating a score index. According to some embodiments of the presentdisclosure, a score of each historical destination corresponding to ahistorical departure location may be obtained by a big data calculation.In some embodiments, the score of the historical destinationcorresponding to each historical departure location may be calculatedas:

$\begin{matrix}{{{{Score}\mspace{14mu}\left( {{time},{source},{POI}_{i}} \right)} = {\frac{1}{\sqrt{d + 1}}\max\left\{ {\left( {2 - \frac{s}{86400}} \right),1} \right\} \times \frac{1}{1.2^{h}} \times {f\left( {{{POI}_{i}.{source}},{source}} \right)}}},} & (1)\end{matrix}$wherein the parameter time may denote a current departure time, theparameter source is a current departure location, the parameter POI_(i)may denote a historical data item (e.g., a historical departurelocation, a historical destination, a historical departure time, etc.),and d may denote the number of days between the current departure timeand the historical data POI_(i) (also referred to as the “intermediatedays”). In some embodiments, historical data with a smaller number ofintermediate days may have a higher value of reference. The parameter smay denote the number of intermediate seconds between the currentdeparture time and the historical data POI_(i). In some embodiments, fora short-term destination within 1 day, a smaller number of intermediateseconds may indicate a higher score. The parameter h may denote thenumber of intermediate hours between the current departure time and thehistorical data POI_(i), and historical data with a smaller number ofthe intermediate hours may have a higher value of reference. Theparameter POI_(i).source may denote a historical departure location inthe historical data POI_(i). f(x,y) may denote a degree of correlationbetween the current departure location and the historical departurelocation. In some embodiments, if a distance between a current departurelocation and a historical departure location in the historical dataPOI_(i) is less than a threshold, or a current departure location isidentical to a historical departure location, f(x,y)=1. In someembodiments, if a distance is greater than a threshold, or a currentdeparture location is different from a historical departure location,f(x,y) may be a decimal between 0 and 1. For example, f(x,y) may be adecimal such as 0.1, 0.2, 0.3, or the like. The threshold of thedistance may be a preset value such as 50 meters, 100 meters, 200meters, 500 meters, or the like. After obtaining the scores of thehistorical destinations based on Equation 1, the ranking unit 370 of theprocessing module 210 may rank the historical destinations and identifya historical destination with the highest score.

According to some embodiments, if a score of a historical destinationwith the highest score is greater than a particular first threshold, thehistorical destination with the highest score may be further processedto determine if the historical destination may be designated as adefault destination. The processing may be performed by the calculationunit 350. For example, the score of the historical destination with thehighest score may be further compared with scores of other historicaldestinations. More particularly, for example, a ratio of the score ofthe historical destination with the highest score to total score ofmultiple historical destinations may be calculated. If the ratio isgreater than a second threshold, the historical destination with thehighest score may be designated as the default destination.

According to some embodiments of the present disclosure, if a certainpassenger has information of three historical travels, and the score ofthe first travel to destination A is 2, the score of the second travelto A is 1.5, and the score of the third travel to B is 1, then the scoreof historical destination A is 3.5, and the score of historicaldestination B is 1. The first threshold may be set as 2, the secondthreshold may be set as 0.75. The determining unit 380 of the processingmodule 210 may compare the score of the historical destination A withthe first threshold, and if the score of the historical destination A isgreater than the first threshold, the determining unit 380 may thendetermine whether the ratio of the score of the historical destination A(3.5) to the total score (4.5) of the historical destination A and thescore of historical destination B is greater than the second threshold.If the ratio (3.5/4.5) is greater than the second threshold, thehistorical destination A may be designated as a predicted destination(or referred to as a default destination). The first threshold and thesecond threshold may be set as required.

It should be noted that the description described above of determiningthe default destination is provided for the purposes of illustration,and is not intended to limit the scope of the present disclosure. It isunderstood that the processing module 210 may determine multiple defaultdestinations based on the scores of the historical destinations, ratherthan just designate the historical destination with the highest score asone default destination. The processing module 210 may rank the defaultdestinations after determining multiple default destinations. Based onthe scores of the historical destinations, the historical destinationsmay be ranked in ascending order or descending order of the scores. Itshould be noted that the purpose of setting the first threshold and thesecond threshold in the process of determining the predicted destinationis to ensure the accuracy of the predicted destination of the passenger.The predicted destination may be sent to the passenger only if theaccuracy of the destination is high enough.

After obtaining one or more candidate destinations (i.e., thepredicted/default destinations described above), the address analyzingunit 310 of the processing module 210 may further include analysisand/or reverse analysis of the information of the candidate destinations(i.e., converting the candidate destinations represented by geographiccoordinates into descriptive names, or converting the candidatedestinations expressed by descriptive names into geographiccoordinates). The sent information of the candidate destination may beexpressed by the descriptive name, the geographic coordinates, and/orboth of them.

After generating the information of the candidate destinations, the POIengine 110 may send the information of the candidate destinations to thepassenger terminal device 120 via the network 150 through the passengerinterface 230 in step 940. In some embodiments, the POI engine 110 maysend information of the candidate destinations to one or more driverterminal devices 140 through the driver interface 240.

In step 950, the POI engine 110 may receive processed data related tothe information of the candidate destinations by the passenger terminaldevice 120 through the passenger interface 230.

After step 950, the POI engine 110 may analyze and calculate theprocessed data described above to generate a processing result. Afterthe processing result is generated, the POI engine 110 may perform somesubsequent operations. The description of details of generating theprocessing result and the subsequent operations can be found in FIG. 7 ,and is not repeated here.

It should be noted that the description of the process or steps aboutpredicting information of the destination based on information ofhistorical orders, current departure location and departure time of apassenger is provided for the purposes of illustration, and is notintended to limit the scope of the present disclosure. For personshaving ordinary skills in the art, modules may be combined in variousways, or connected with other modules such as sub-systems, and variousvariations and modifications may be conducted under the teaching of thepresent disclosure. For example, in some embodiments, steps 940 and 950may be omitted after the POI engine 110 sends the destination-relatedinformation. As another example, the POI engine 110 may use otherrelevant information obtained from the passenger terminal device 120 orthe information source 160 to collectively determine information ofcandidate destinations. The relevant information may include but is notlimited to location information of the passenger terminal device 120 ina historical time period, other information obtained by the passengerterminal device 120 (e.g. physiological information such as a heartbeat,a pulse, a blood pressure and social information such as activities insocial networking, dating with friends), weather information, currentsocial activities, information of the holidays, laws and regulationsinformation, etc. All such modifications are within the protection scopeof the present disclosure.

FIG. 9 -B is a flow chart of an example of a process of receiving andprocessing destination-related information by the passenger terminaldevice 120 according to some embodiments of the present disclosure.

In step 915, the passenger terminal device 120 may obtain currentinformation of a current departure location and a current departuretime.

According to some embodiments of the disclosure, the current departurelocation may relate to a current location, or a departure location setor designated by the passenger.

When the current departure location is a current location, the currentdeparture location may be determined by the communication module 540 ofthe passenger terminal device 120 based on one or more positioningtechnologies, or by the I/O module 510 of the passenger terminal device120 that receives the input order from the passenger.

According to some embodiments of the present disclosure, thecommunication module 540 may determine a precise current location basedon two or more positioning technologies. For example, the communicationmodule 540 may obtain GPS positioning information and positioninginformation of the base station by communicating with the base stationand the GPS satellites. The processing module 550 may further processthe GPS positioning information and positioning information of the basestation to obtain a precise current location. The processing module 550may take the current location as the current departure location.

When the current departure location is a location set or designated bythe passenger on the passenger terminal device 120, the currentdeparture location may be the location inputted or selected by thepassenger.

According to some embodiments of the present disclosure, the passengerterminal device 120 may monitor whether there is an instruction in adestination input box. When there is an instruction in the input box,the I/O module 510 of the passenger terminal device 120 may obtaininformation of the current departure location. The processing module 550may simultaneously obtain the time when the passenger inputs theinstruction.

According to some embodiments of the present disclosure, the passengerterminal device 120 may store and record multiple common destinationspreset by a passenger. When the passenger needs a transportationservice, the passenger may callout the common destinations stored in thepassenger terminal device 120. The common destinations may be displayedon the display module 520 and selected via the I/O module 510.

In step 925, the passenger terminal device 120 may send the informationof the current departure location and the current departure time to thesystem 105 through the communication module 540. Besides the informationof the current departure location and the current departure time, thepassenger terminal device 120 may also send information of othercontents. The information of other contents may include but is notlimited to physiological information of the passenger, anyrequirement/preference/expectation for the transportation service of thepassenger, other information of the passenger, etc.

In step 935, the communication module 540 of the passenger terminaldevice 120 may receive the information of candidate destinations sent bythe on-demand service system 105.

After step 935, the passenger terminal device 120 may display thereceived information by the display module 520. The information may bedisplayed in a text form or a hypertext form. Furthermore, in someembodiments, destination-related information may be expressed ordisplayed in the form of hypertext marking language (HTML). In someembodiments, the destination-related information may be displayed on amap interface.

In step 945, the passenger terminal device 120 may receive processeddata related to the information of candidate destinations by thepassenger through the I/O module 510. The processing may include but isnot limited to deleting/selecting/designating one or more candidatedestinations and adding new destination information.

After receiving the processed data by the passenger, alternatively, thepassenger terminal device 120 may send the processing result to thesystem 105, one or more other passenger terminal devices 120, or one ormore driver terminal devices 140 in step 955.

It should be noted that the description of the process or steps ofproviding the current information and processing the information of thecandidate destinations by the passenger terminal device 120 is providedfor illustration, and is not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, steps may becombined in various ways. Various variations and modifications may beconducted under the teaching of the present disclosure. However, thosevariations and modifications may not depart the spirit and scope of thisdisclosure. For example, in some embodiments, step 945 and step 955 maybe omitted after the passenger terminal device 120 receives theinformation of the candidate destinations. As another example, thepassenger terminal device 120 may obtain other relevant information instep 915. The relevant information may include but is not limited to atleast one piece of location information in a historical time period ofthe passenger terminal device 120, other information of the passenger(physiological information, e.g., a heartbeat, a pulse, a bloodpressure), etc. The other information of the passenger may be obtainedby the sensor component of the I/O module 510 of the passenger terminaldevice 120, or other devices such as wearable devices, healthy devices,etc. The passenger terminal device may send the information in step 925.All such modifications are within the protection scope of the presentdisclosure.

FIG. 10 -A is a flow chart of an example of a process of generatingdestination-related information based on a particular POI classificationmodel by the POI engine 110 according to some embodiments of the presentdisclosure. In step 1010, the POI engine 110 may receive geographicinformation of a passenger. The reception of the geographic informationmay be performed by the passenger interface 230. The geographicinformation may include location information and time information. Thelocation information may include a current location of the passenger anda departure location of an order. The time information may include acurrent time, a time when the passenger sends a service request, a timeset by the passenger, or the like. The current location of the passengermay be the same with or different from the departure location of theorder. The current location of the passenger and/or the departurelocation of the order may be obtained by using a particular positioningtechnology or by manually inputting a particular address name by thepassenger. The related description of the positioning technology can befound in FIG. 5 , and will not be repeated here.

In step 1020, the POI engine 110 may generate candidate destinationsbased on a particular POI classification model. The step 1020 may beperformed by the processing module 210. In some embodiments, theparticular POI classification model may relate to a passenger. Eachpassenger may have a corresponding POI classification model. The POIclassification model may be stored in the user database 630, the storagemodule 220, or other modules or units that can store data, of theon-demand service system 105. The process of determining the particularPOI classification model is described in FIG. 10 -B. The POI engine 110may determine a POI classification type of a current location of thepassenger or a departure location of the order based on the POIclassification model described above. More specifically, in someembodiments, the POI engine 110 may determine the POI classificationtype of a destination of the order based on the POI classification typeof a current location of the passenger or a departure location of theorder. In some embodiments, the POI engine 110 may determine the POIclassification type of a destination of the order based on the POIclassification type of a current location of the passenger or adeparture location of the order, as well as a current time, a time whenthe passenger sends a service request and a time set by the passenger.The POI engine 110 may generate information of at least one candidatedestination based on the POI classification type of the destination ofthe order.

The number of the candidate destinations may be arbitrary. For example,the number of the candidate destinations may be one, two, three, four,or five. The candidate destinations may belong to the same or differentPOI classification types. For example, the candidate destinations maybelong to two or three different POI classification types. The number ofthe candidate destinations and/or the number of POI classification typesthat a destination belongs to may be fixed or adjustable. For example,the POI engine 110 may designate the number of destinations receivedfrom the passenger terminal device 120 as N1, and designate the numberof POI classification types that a destination belongs to as N2. Thenumber of destinations that belong to each POI classification type maybe fixed or adjustable.

In some embodiments, the POI engine 110 may also rank generatedcandidate destinations based on a particular ranking rule in step 1030.In some embodiments, the ranking may be performed by the ranking unit370 of the processing module 210. The particular ranking rule may be acombination of one or more rules such as a probability, a distance, atime sequence, an amount of required time, a required fee, the number ofemployed travel methods, or the like, or any combination thereof. Insome embodiments, the POI engine 110 may calculate, by the calculationunit 350, an amount of required time, a distance, a required fee, adesired travel method, an order completion rate corresponding todifferent travel methods, or the like, from the departure location ofthe order to a candidate destination of the order. The ranking unit 370may rank the candidate destinations based on a calculating result of thecalculation unit 350. In some embodiments, the ranking unit 370 may rankthe candidate destinations based on the number or frequency of using thecandidate destinations. In step 1040, the POI engine 110 may send rankedcandidate destinations to the passenger terminal device 120 through thepassenger interface 230. The number of the candidate destinations sentto the passenger terminal device 120 may be one or more of the candidatedestinations ranked in step 1030.

In some embodiments, destination information generated in step 1020 mayinclude a recommended single or hybrid travel method, and a required feeof the recommended single or hybrid travel method. In step 1030, the POIengine 110 may rank the information of the candidate destinations basedon the number of the travel methods or the amount of the required fee.

In step 1040, the POI engine 110 may send the candidate destinations tothe passenger terminal device 120 and/or the driver terminal device 140.The candidate destination may be sent with or without being ranked.

In some embodiments, the POI engine 110 may send the candidatedestinations generated in step 1020 to the passenger terminal device120. In some embodiments, the POI engine 110 may send top N destinationsof the candidate destinations in step 1020 that are ranked based on aparticular rule to the passenger terminal device 120. N may be 2, 3, 4,5, 6, 7, 8, 9, 10, or greater than 10. In some embodiments, the POIengine 110 may rank and send the top N destinations to the passengerterminal device 120. The top N destinations may be ranked based on oneor more rules such as the number of usage in descending order, thefrequency of usage in descending order, the number of travel methods inascending order, required times in ascending order, required fees inascending order, order completion rates corresponding to differenttravel methods, or the like. In some embodiments, the rule(s) of rankingthe top N destinations may be automatically configured by the POI engine110. In some embodiments, the rule of ranking the top N destinations maybe preset by a passenger. In some embodiments, the ranking rule may bedesignated by a passenger based on an order (e.g., a current order or anorder that satisfies a particular condition). For example, the POIengine 110 may provide one or more ranking methods for the passenger toselect. Then the passenger may designate one or more ranking methodsand/or application conditions. As another example, the POI engine 110may permit the passenger to define one or more ranking methods and/orapplication conditions. For example, the ranking may be based onmultiple factors. The POI engine 110 may permit the passenger to definea weight for each factor when calculating the ranking. In someembodiments, the POI engine 110 may send the top N destinations rankedin a random order.

In some embodiments, the POI engine 110 may further receive processingof the candidate destinations by the passenger terminal device 120. Insome embodiments, the processing may include directly selecting one ofthe candidate destinations to send to the POI engine 110. In someembodiments, the processing may include selecting multiple candidatedestinations to send to the POI engine 110. In some embodiments, theprocessing may include deleting one or more candidate destinations. Itshould be noted that the description described above of processing atleast one candidate destination sent by the POI engine 110 is providedfor the purposes of illustration, and not intended to limit the scope ofthe present disclosure. In some embodiments, other methods of processingthe candidate destination may also be included. After receivingprocessing result from the passenger terminal device 120, the POI engine110 may send the processing result to the driver terminal device 140.For example, the POI engine 110 may receive a destination selected bythe passenger terminal device 120 from the candidate destinationsdescribed above and set this selected destination as the destination ofan order. The POI engine 110 may send the order that includes adeparture location and the selected destination to the driver terminaldevice 140.

It should be noted that the above description of generating adestination is provided for the purposes of illustration, and is notintended to limit the scope of the present disclosure. For personshaving ordinary skills in the art, various variations and modificationsmay be conducted under the teaching of the present disclosure. However,those variations and modifications may not depart the spirit and scopeof this disclosure. In some embodiments, some steps in the flow chartdescribed above may be omitted, such as step 1030. The POI engine 110may directly generate and send the candidate destinations withoutranking the candidate destinations. In some embodiments, the flow chartdescribed above may include other steps, such as a storing step. Someintermediate processing results and/or final processing results of thesteps described above may be stored in the storage module 220, thedatabase 130, or other modules or units that can store data, of theon-demand service system 105.

In some embodiments, step 1010 may also be omitted. When the POI engine110 receives a service request signal from a passenger, it may determinethe passenger's possible travel locus based on a current time withoutcollecting a current location of the passenger and/or a departurelocation of an order. A service request signal may be detected by thePOI engine 110 when a service application that provides service isturned on. In some embodiments, the travel locus may refer to adeparture location and a destination of the order. The description ofgenerating candidate destinations is similarly applicable to generatingthe travel loci, and is not repeated here. All such modifications arewithin the protection scope of the present application.

FIG. 10 -B is a flow chart of an example of a process of building a POIclassification model according to some embodiments of the presentdisclosure. In some embodiments, the POI classification model may relateto a passenger, e.g., an account name of the passenger. Each passengermay have a specific POI classification model. For brevity, a passengeris illustrated as an example in following description. The POI engine110 may obtain information of historical orders related to the passenger(or other users of the passenger device 120) in step 1015. Theinformation of historical orders may include information of historicalorders relating to the passenger, or information of one or morehistorical orders during a preset time period relating to the passenger.The preset time period may include one or more days, one or more weeks,one or more months, one or more quarters, one or more years, etc. Insome embodiments, the preset time period may be two months. In someembodiments, the preset time period may be random or fixed. In someembodiments, the preset time period may be determined based onhistorical experience or experimental data. The information ofhistorical orders may include departure locations and destinations ofthe historical orders, historical service requesting time of thepassenger, historical departure time set by the passenger, or the like,or any combination thereof. The information of historical orders may beobtained from the historical order database 610 of the database 130, thestorage module 220, and/or other modules or units of the on-demandservice system 105 with a storing function.

In step 1025, the POI engine 110 may process the information ofhistorical orders of the passenger based on a location classifier thatis pre-built by the on-demand service system 105. The method of buildingthe location classifier may refer to the following description of thisdisclosure. The information of historical orders may include locationinformation, time information, information of a required fee, or thelike, or any combination thereof. The location information may includedeparture locations and/or destinations of the historical orders. Thetime information may include time when the passenger sends a servicerequest or departure time set by the passenger. The processing mayinclude classifying addresses of the departure locations and/or thedestinations of the historical orders to generate an addressclassification type corresponding to the departure locations and/or thedestinations of the historical orders. The address classification typemay include transportation facility, residential area, office area, foodand beverage, hotel, entertainment, address name, shopping, etc.

In some embodiments, the POI engine 110 may determine the POI type (i.e.the POI classification type) of the passenger based on a result ofaddress classification of departure locations and/or destinations ofhistorical orders in step 1035. The POI type of the passenger may belongto one or more types. The POI engine 110 may predict the passenger'shistorical destinations and/or loci based on the address classificationtype of the departure locations and/or the destinations of all thepassenger's historical orders or the passenger's historical orders in aprevious time period. The time period in the past may be one or moreweeks, one or more months, one or more quarters, one or more years, etc.For example, if the POI type of the passenger is “food and beverage” and“residential area” in the past or in a previous time period, determinedby the POI engine 110, the passenger may often move around an areabetween his/her residence and a restaurant in the past or in theprevious time period. It may be concluded that the passenger preferredto food consumption in the past or in a previous period.

In some embodiments, the POI engine 110 may determine the POI type ofthe passenger based on time information and address information of thehistorical orders in step 1035. The POI type of the passenger may belongto one or more types. The time information of the historical order mayinclude a time point or a time period of a day. The POI engine 110 maypredict historical destinations and/or locus information of thepassenger in the past or in a previous time period, based on the addressclassification type of the departure locations and/or the destinationsof all the passenger's historical orders or the passenger's historicalorders in the previous time period, and the time when the passenger senta service request or the departure time set by the passenger. Forexample, from 8 am to 10 am, if the address classification type of thedeparture locations of the passenger's historical orders in the past orin a previous period is “residential area,” the address classificationtype of the destinations of the passenger's historical orders in thepast or in the previous period is “office area,” the POI type of thepassenger may be “residential area” and “office area”. Then it mayindicate that the passenger often moves around an area between his/herresidence and office in the past or in the previous period. It may beconcluded that the passenger preferred to work in the past or theprevious period.

The POI classification model may be obtained based on the POI type ofthe passenger determined by the steps described above. The passenger'sbehaviors and habits may be predicted based on the POI classificationmodel. After the current location information and/or the timeinformation are obtained, the address classification type of thepassenger's destination may be predicted, then the passenger'sdestination may be predicted accordingly.

The following is a detailed description of a method of building alocation classifier in step 1025. It should be noted that thedescription is provided for the purposes of illustration, and notintended to limit the scope of the present disclosure. The process ofbuilding the location classifier may include the following steps: (a)the processing module 210 may obtain multiple text address data in whichthe address classification type is already known; (b) the textprocessing unit 390 may segment the multiple text address data of whichthe address classification type is already known to generate multiplefeature texts using a predetermined word segmentation method; (c) themodel training unit 395 may generate the location classifier by takingthe multiple feature texts as training data to train the locationclassifier. The method of training the location classifier may includenaive Bayesian algorithm, weight Bayesian algorithm, decision tree,Rocchio, neural network, linear least squares fitting, K-nearestneighbor, genetic algorithm, maximal entropy, linear regression model,or the like, or any combination thereof. The linear regression model mayinclude a logistic regression model and a support vector machine model.The method of training the location classifier described herein may alsoinclude other algorithms or models. In some embodiments, the locationclassifier may also be derived directly from empirical values withoutdata training.

In some embodiments, the processing module 210 may also include a sampleequalizing unit (not shown in FIG. 3 .). After obtaining the multipletext address data of which the address classification type is alreadyknown, the sample equalizing unit may perform a sample equalization onthe multiple text address data. The sample equalization may includecalculating an average number of the text address data of each addressclassification type based on the number of the text address data and thenumber of address classification types by the calculation unit 350. Insome embodiments, the method of sample equalization may be “samplingwith replacement.” If the number of the text address data of a certainaddress classification type is less than the average number, the numberof text address data of this address classification type may beincreased to the average number. Conversely, if the number of the textaddress data of a certain address classification type is larger than theaverage number, the number of text address data of this addressclassification type may be decreased to the average number.

In step (b), the text processing unit 390 may segment the text addressdata of each known address classification type to generate multiplefeature texts. The feature texts may be regarded as a vector, e.g.,X=(x₁,x₂,x₃, . . . x_(m)), wherein each element of X may denote afeature text and m may denote the number of feature texts of eachsegmented text address data. For example, the words “Beijing ShangdiSubway Station” may be segmented as three feature texts, e.g.,“Beijing,” “Shangdi,” “Subway Station.” In some embodiments, theprocessing module 210 may include a redundancy eliminating unit. In someembodiments, the redundancy eliminating unit may be contained in thetext processing unit 390 and work as a text deleting unit. The textdeleting unit may delete those feature texts with a length shorter thana certain threshold. In some embodiments, the threshold may be 2, 3, 4,etc. For example, the result of segmenting “I'm in Beijing Xierqi SubwayStation” may be “I'm,” “in,” “Beijing,” “Xierqi,” “Subway,” “Station.”The remaining feature texts may be “Beijing,” “Xierqi,” “Subway,”“Station” after the feature texts “I'm” and “in” with a length shorterthan 2 have been deleted.

In step (c), the model training unit 395 may generate a locationclassifier by taking the multiple feature texts as training data totrain the location classifier. In some embodiments, the model trainingunit 395 may train the location classifier using a naive Bayesianalgorithm. For brevity, a set of the address classification types may beY=(y₁,y₂,y₃, . . . y_(q)), wherein elements in Y may represent differentaddress classification types. The calculation unit 350 may calculate aposterior probability P (Y|X) for each combination of X and Y based onthe Bayesian function P(Y|X)=P (X|)*P(Y)/P(X), wherein P(Y X) may denotea probability that the text address data X belongs to a certainclassification type.

The calculation unit 350 of the processing module 210 may calculate theprobability that the text address data belongs to each addressclassification type. In some embodiments, the probability that the textaddress data belongs to each address classification type can be obtainedas:P _(k) =P(Y|X)=P(X|Y)*P(Y)/P(X)=Π_(i) ^(m) P(x _(i) |Y=y _(k))*P(Y=y_(k))/P(X),  (2)wherein P(Y=y_(j)) may denote a proportion of the address classificationtype y_(j) in the set of the address classification types,P(x_(i)|Y=y_(j)) may denote a proportion of the feature text x_(i) inthe address classification type y_(j); P(X) may denote a probability ofoccurrence of a departure location or destination of an order. Thecalculation unit 350 may obtain P(Y=y_(j)) and P(x_(i) Y=y_(j)) based ondata statistics.

The calculation unit 350 of the processing module 210 may calculate theprobability that the text address data belongs to each addressclassification type. For brevity, probabilities of the addressclassification types are denoted by P1, P2, P3, . . . Pq in descendingorder, wherein q is the total number of the address classificationtypes. Based on the probabilities of the different addressclassification types described above, the processing module 210 maydetermine the address classification type that the text address databelongs to. In some embodiments, the processing unit 210 of the POIengine 110 may designate the address classification type with thelargest probability among the q probabilities described above as theaddress classification type of the text address data. In someembodiments, the POI engine 110 may select two largest probabilities(i.e. P1 and P2) among the q probabilities described above and P1 and P2may be compared. If P1>Z*P2, and Z is greater than 1, the addressclassification type corresponding to P1 may be designated as the addressclassification type of the text address data. A range of the value of Zmay be 1 to 2, 2 to 3, 3 to 4, 4 to 5, 5 to 6, or more than 6. In someembodiments, Z may have a range of value from 3 to 5. For example, ifthe probability that “Shangdi Subway Station” belongs to the addressclassification type “transportation facility” and “address name” is 0.6and 0.1 respectively, and the value of Z is 3, because 0.6>3*0.1, theprocessing unit 210 may determine that the address classification typeof “Shangdi Subway Station” is a “transportation facility.”

What has been described above is a process of generating a locationclassifier. Based on the location classifier, it may be feasible toclassify a departure location and/or a destination of an order todetermine an address classification type of the departure locationand/or the destination of the order. It should be noted that the abovedescription is provided for the purposes of illustration, and notintended to limit the scope of the present disclosure. For personshaving ordinary skills in the art, various variations and modificationsmay be conducted under the teaching of generating an address classifier.All such improvements and modifications are within the scope ofprotection of the present disclosure.

FIG. 11 is a flow chart of an example of a process of providing a travelroute to a user by the POI engine 110 according to some embodiments ofthe present disclosure. As shown in FIG. 11 , in step 1110, the POIengine 110 may obtain at least one travel route of a user. The user maybe a passenger or a driver. The step 1110 may be performed by thepassenger interface 230 and/or the driver interface 240. In someembodiments, the travel route may be obtained from the passengerterminal device 120 and/or the driver terminal device 140, the database130 or the information source 160. It should be noted that there arevarious methods of obtaining the travel route of the user. For example,multiple common travel routes may be preset by the user. Alternatively,the travel route may be obtained based on the big data calculation ofdaily travel data and consumption behavior of the user. According tosome embodiments of the present disclosure, the travel route may includea departure location and a destination.

In step 1120, the POI engine 110 may calculate the probability of thetravel route (e.g. a probability of a travel route may represent theprobability of taking the travel route in a travel). The calculation ofthe probability of the travel route may be performed by the processingmodule 210 of the POI engine 110. For example, in some embodiments, thePOI engine 110 may calculate the probability of the travel route by thecalculation unit 350 of the processing module 210 of the POI engine 110based on historical probabilities of travel routes and/ortravel-route-related information. The historical probability of eachtravel route may be obtained by the calculation of the historical traveldata of the user. The historical probability of each travel route may becalculated by the calculation unit 350. According to some embodiments ofthe present disclosure, the travel-route-related information may includebut is not limited to a current location, a current weather conditions,a current date and/or a current time, or the like, or any combinationthereof. For example, the travel routes of the user obtained by the POIengine 110 in step 1110 may be R₁, R₂, . . . , R_(n), respectively. Timeof travel corresponding to each travel route may be C₁, C₂, . . . ,C_(n) respectively. If a user has at least one travel, i.e., Σ_(i=1)^(n)C_(i)>0, then the historical probability of each travel route may beC₁/Σ_(i=1) ^(n)C_(i), C₂/Σ_(i=1) ^(n)C_(i), . . . , C_(n)/Σ_(i=1)^(n)C_(i) respectively. It can be drawn that, for an obtained travelroute R, preset by the user, if the user has never traveled along thetravel route R_(i), i.e., C_(i)=0, then the historical probability ofthe travel route R_(i) may be 0. More particularly, for example, thetravel-route-related information may refer to factors that influence theselection of the travel routes of the user. The factors may include acurrent location of the user, a current weather condition, a currentdate, a current time, or the like, or any combination thereof. Aconsumption behavior of the user may refer to a behavior that the usermakes a consumption decision and completes the consumption driven by aneed or a motivation. The consumption behavior may be a thinking ormental process, or a process of taking actions, making plans or solvingproblems. The user's selection of a travel route may be a process ofconsumption behavior. The user may determine his/her requirement oftravels based on internal or external conditions. For example, if thecurrent location of the passenger is at home during working hours onweekdays, the passenger may most likely to choose to take a taxi to thecompany. If the current location of the passenger is the company afterworking hours on weekdays, the passenger may most likely choose to takea taxi home. If it is on weekends, the passenger may most likely chooseto take a taxi to a bar, a cinema, other entertainment venues, or thelike. As another example, the passenger's desire of traveling may be notstrong on a rainy or snowy day. And once the passenger chooses to travelon a rainy or snowy day, the most possible destinations may be placesrelated to daily life that are not far away from the passenger, such asrestaurants, banks, hospitals, supermarkets, etc.

In some embodiments, calculation of the probability of each travel routemay be based on calculation of the historical probabilities. Forexample, the obtained travel routes of the passenger/driver may be R₁,R₂, . . . R_(n) respectively and the historical probabilities calculatedcorresponding to the travel routes may be H₁, H₂, . . . , H_(n)respectively. Then the current probability of the travel routes may beassumed as H₁, H₂, . . . , H_(n), respectively. In some embodiments, thecalculation of the probability of each travel route may be obtainedbased on the calculation of the historical probabilities and thetravel-route-related information. For example, the obtained travelroutes of the passenger/driver may be R₁, R₂, . . . , R_(n) respectivelyand the historical probabilities calculated corresponding to the travelroutes may be H₁, H₂, . . . , H_(n) respectively. For brevity, only thetravel-route-related information relating to the current location may beconsidered. The travel routes of the passenger/driver may be dividedinto two groups: a route set G₁ wherein departure locations are currentlocations and another route set G₂ wherein departure locations are notcurrent locations. There may be k routes in G₁, represented by R₁, R₂, .. . , R_(k) respectively, and probabilities of the k routes calculatedcorrespondingly may be H₁, H₂, . . . , H_(k). There may be n-k routes inG₂, represented by R_(k+1), R_(k+2), . . . R_(n) respectively, andprobabilities of the n-k routes calculated correspondingly may beH_(k+1), H_(k+2), . . . , H_(n) respectively. For each route in the setG₂, as all of the departure locations are not the current locations, thecurrent probability of each route in G₂ may be 0. For each route in theset G₁, as all of the departure locations are the current locations,each influence coefficient of “the current location” to each route in G₁may be the same. So the probability of each route in set G₁ may be

${H_{1} + {\frac{1}{k}{\sum_{i = {k + 1}}^{n}H_{i}}}},{H_{2} + {\frac{1}{k}{\sum_{i = {k + 1}}^{n}H_{i}}}},\ldots\mspace{14mu},{H_{k} + {\frac{1}{k}{\sum_{i = {k + 1}}^{n}H_{i}}}}$respectively, and the probability of each route in set G₂ may be 0. Assuch, the current probability of each travel route (i.e., R₁, R₂, . . ., R_(n)) of the passengers/drivers may be

${H_{1} + {\frac{1}{k}{\sum_{i = {k + 1}}^{n}H_{i}}}},{H_{2} + {\frac{1}{k}{\sum_{i = {k + 1}}^{n}H_{i}}}},\ldots\mspace{14mu},{H_{k} + {\frac{1}{k}{\sum_{i = {k + 1}}^{n}H_{i}}}},0,\ldots\mspace{14mu},0$respectively. In some embodiments, the calculation of the probability ofeach travel route may be obtained based on the travel-route-relatedinformation. For example, the travel routes of the passenger/driver thatis acquired is shown in table 1:

TABLE 1 acquired travel routes of the passenger/driver TravelDestination Route ID Departure location Location R₁ A certainresidential area Children's palace R₂ A certain residential areaActivity Center for the aged

According to some embodiments, the factors that influence the selectionof travel route of the passenger/driver (i.e., the travel-route-relatedinformation) may be time and weather. An influence coefficient may beallocated to each factor respectively to represent a degree of thefactor's influence on the final selection of travel route of thepassenger/driver, as shown in table 2 and table 3:

TABLE 2 influence coefficients of time on the selection of travel routeof the passenger/driver Days that give beneficial Travel treatmentsRoute ID Weekdays Weekends Holidays to the aged R₁ 50 100 150 20 R₂ 0 3050 200

TABLE 3 influence coefficients of weather on the selection of travelroute of the passenger/driver Travel Route ID Fine day Rainy day Snowyday R₁ 1 0.5 0 R₂ 1 0.5 0

If the current day is both a holiday and a fine day, then selectivecoefficients of two routes R₁, R₂ may be 150×1=150 for R₁, and 50×1=50for R₂ respectively. Thus, probabilities of the two routes may be:150/(150+50)=75% for R₁, and 50/(150+50)=25% for R₂ respectively. If thecurrent day is both a day that give beneficial treatments to the agedand a fine day, then selective coefficients of the two routes may be20×1=20 for R₁, and 200×1=200 for R₂ respectively. Thus, probabilitiesof the two routes may be: 20/(20+200)=9.1% for R₁, 200/(20+200)=90.9%for R₂ respectively.

It should be noted that the above description is provided for thepurposes of illustration, not intended to limit the scope of the presentdisclosure. Because there may be various kinds of travel-route-relatedinformation, and influence of the travel-route-related information oneach travel route may be same or different, more complex mathematicalmodels can be built for different travel-route-related information tocalculate the final probability of each route.

In step 1130, the POI engine 110 may rank the travel routes of thepassenger/driver according to the probabilities calculated above. Thetravel routes may be ranked based on the probabilities in descendingorder by the ranking unit 370 of the processing module 210 of the POIengine 110.

In step 1140, the POI engine 110 may send a list of the travel routesthat have been ranked to the passenger terminal device 120 and/or thedriver terminal device 140. The step 1140 may be performed by thepassenger interface 230 and/or the driver interface 240. In someembodiments, the list of the travel routes may be displayed on thedisplay unit 520 of the passenger terminal device 120 and/or the driverterminal device 140 and provided for the passenger and/or driver toselect. In some embodiments, a travel route with the highest probabilityin the list of the travel routes may be designated as a default travelroute and directly added to corresponding service request information.

It should be noted that the POI engine 110 may directly send the travelroutes of the passenger or the driver without performing step 1120and/or step 1130. For example, when only one travel route of thepassenger/driver is obtained, the probability of the travel route maynot need to be calculated, and the travel route may be directly sent tothe passenger/driver. As another example, when only one travel route ofthe passenger/driver is obtained, the probability of the travel routemay be calculated as 100%, and the travel route may be directly sent tothe passenger/driver without performing step 1130.

It should be obvious to those skilled in the art that the modules, theunits or the steps in the above description of the present disclosuremay be realized by general calculating modules. For example, themodules, the units or the steps may be integrated into one calculatingmodule or distributed on a network of multiple calculating modules.Alternatively, the modules, the units or the steps may be realized byexecutable program codes such that the executable program codes may bestored in a storage module and executed by the calculating module. Themodules, the units or the steps may also be realized by distributingeach of them on an individual integrated circuit module or distributingsome of the modules or steps on a single integrated circuit module. Inthis way, the present disclosure is not limited to combinations of anyparticular hardware or software.

It should be noted that the above examples are provided for the purposesof illustration and not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, variousvariations and modifications may be conducted under the teaching of thepresent disclosure. However, those variations and modifications may notdepart the spirit and scope of this disclosure.

FIG. 12 -A is a flow chart of an example of a process of providing atravel method plan to a passenger/driver by the POI engine 110 accordingto some embodiments of the present disclosure. In step 1210, the POIengine 110 may receive information related to a transportation servicerequest. The step 1210 may be performed by the passenger interface 230and/or the driver interface 240. In some embodiments, the passengerinterface 230 and/or the driver interface 240 may receive thetransportation service request from the passenger terminal device 120and obtain feature-related information and profile information of thetransportation service request. The profile information may include butis not limited to a departure time, information of a departure locationand a destination, or the like, or any combination thereof. Thefeature-related information may include but is not limited to POIinformation of a departure location and a destination, real-time weatherinformation, real-time traffic information, preference information of adriver for each travel method, the number of available driverscorresponding to each travel method in a preset area, an actualdistance, or the like, or any combination thereof.

In step 1220, the POI engine 110 may determine travel information of thetransportation service request corresponding to each single travelmethod based on the feature-related information and the profileinformation. The step 1220 may be performed by the determining unit 380of the processing module 210 of the POI engine 100. The determining unit380 may determine the travel information of the transportation servicerequest corresponding to each single travel method based on thefeature-related information and the profile information. The travelinformation may include an order completion rate, a required time, arequired fee, a walking distance, etc. For example, the travelinformation of a car-hailing request (i.e., the transportation servicerequest) corresponding to a single travel method may include an ordercompletion rate, a required time, a required fee, a walking distance,etc. of each travel method based on the car-hailing request. In someembodiments, the determining unit 380 may determine POI information ofthe departure location and the destination, respectively based oninformation of the departure location and information of thedestination. For each travel method, the determining unit 380 mayestimate its order completion rate based on the POI information of thedeparture location, the POI information of the destination, a departuretime, real-time traffic information, preference information of a driverfor a certain travel method, and the number of available drivers. Thedetermining unit 380 may plan a travel route and obtain the actualdistance, travel time and level of traffic congestion of the travelroute to estimate a total fee, a walking distance and a required time ofthe travel route based on the departure location, the destination andthe travel method.

In some embodiments, there may be multiple preset amounts of additionalfees such as tips. The determining unit 380 may determine an ordercompletion rate corresponding to each preset amount of additional feeand the passenger's acceptance rate of each preset amount of additionalfee. The determining unit 380 may also obtain an optimal amount ofadditional fee based on the order completion rate and the passenger'sacceptance rate of each preset amount of additional fee, and designatethe order completion rate that corresponds to the optimal amount ofadditional fee as the final order completion rate. More particularly, aservice provider may receive a car-hailing request and analyze POI(point of interest) information of a departure location and adestination of the request, for example, whether the departurelocation/destination is a hospital, a community or a business district.In addition, for each travel method, an order completion rate may beestimated based on real-time traffic conditions, time, the departurelocation and the destination, and information of drivers around. For atravel method with tips, an estimated order completion rate and arecommended amount of tips that increases the order completion rate maybe outputted. In addition, for each travel method, its required fee,required time and walking distance may be estimated based on the actualdistance, the travel time, and the level of traffic congestion of atravel route obtained according to a result of travel route planning.The total fee may be a sum of the required fee and the recommended tip.Thus, the travel information of multiple single travel methods may beobtained.

In some embodiments, step 1220 may include sub-steps 1221, 1222, and1223. FIG. 12 -B is a flow chart of an example of a process ofprocessing travel information by the POI engine 110. In step 1221, POIinformation of a departure location and a destination may be determinedbased on information of the departure location and the destinationinformation, respectively. In step 1222, for each travel method, anorder completion rate may be estimated based on the POI information ofthe departure location, the POI information of the destination,departure time, real-time traffic information, preference information ofa driver for the travel method, and the number of available drivers.More particularly, for example, the step 1222 may be performed byestimating the order completion rate of a car-hailing request with eachtravel method based on a pre-built prediction model. The predictionmodel may be a model built based on feature-related information ofhistorical orders during a preset time period for each travel method.The feature-related information of the car-hailing request may beregarded as a predictive variable of the prediction model. The ordercompletion rate of the car-hailing request with each travel method maybe taken as a target variable of the prediction model.

After the order completion rate of each travel method is estimated instep 1222, the method of processing travel information may furtherinclude step A01 and step A02. In step A01, based on multiple presetamounts of additional fee, the order completion rate corresponding toeach of the preset amount of additional fee and the passenger'sacceptance rate of the preset amount of additional fee may bedetermined. The additional fee may be a tip. An optimal tip may beselected by estimating the order completion rates and the passenger'sacceptance rates corresponding to multiple preset tips. It should benoted that, in the step A01, the order completion rate and thepassenger's acceptance rate may be obtained in the same way as the step1222, i.e., by pre-building a prediction model. The additional fee maybe a characteristic data of the prediction model. In step A02, anoptimal amount of additional fee may be obtained based on the ordercompletion rate and the passenger's acceptance rate corresponding toeach of the preset amount of additional fee. The order completion ratecorresponding to the optimal amount of additional fee may be designatedas the final order completion rate.

In step 1223, based on a departure location, a destination and a travelmethod, a travel route may be planned and its actual distance, traveltime and level of traffic congestion may be obtained to estimate a totalfee, a walking distance and a required time. The travel information ofmultiple single travel methods such as tips, order completion rates,total fees, walking distances, required times, etc. may be obtained bythe steps described above.

Refer back to FIG. 12 -A, in step 1230, the POI engine 110 may determinea hybrid travel method using a global optimization algorithm based onthe travel information of each single travel method. Then the POI engine110 may obtain the travel information of the hybrid travel methodcorresponding to the transportation service request. The step 1230 maybe performed by the calculation sub-unit 385 of the determining unit 380of the processing module 210 of the POI engine 110. The calculationsub-unit 385 may determine the hybrid travel method using a globaloptimization algorithm based on the travel information of each singletravel method. Then the determining unit 380 may obtain the travelinformation of the hybrid travel method determined by the calculationsub-unit 385. In some embodiments, the global optimization algorithm maybe a greedy algorithm or the like. In some embodiments, based on ordercompletion rate, required time, required fee, and walking distance ofeach single travel method, the determining unit 380 and its calculationsub-unit 385 may employ the greedy algorithm to determine multiplehybrid travel methods. The determined multiple hybrid travel methods maybe ranked based on required time in ascending order. The travelinformation of the multiple hybrid travel methods corresponding to thecar-hailing request may be obtained. Alternatively, based on ordercompletion rate, required time, required fee, and walking distance ofeach single travel method, the determining unit 380 and its calculationsub-unit 385 may employ the greedy algorithm to determine multiplehybrid travel methods. The determined multiple hybrid travel methods maybe ranked based on required fee in ascending order. The travelinformation of the multiple hybrid travel methods corresponding to thecar-hailing request may be obtained. For example, after multiple hybridtravel methods are obtained by combining multiple single travel methods,a most suitable hybrid travel method may be obtained by employing thegreedy algorithm. The travel information of the hybrid travel methodcorresponding to the car-hailing request may include order completionrate, required time, required fee, the walking distance, etc. of eachhybrid travel method based on the car-hailing request. In someembodiments, step 1230 may specifically include step 1231 and step 1232.

In step 1231, based on order completion rate, required time, requiredfee, and walking distance of each single travel method, by employing thegreedy algorithm, multiple hybrid travel methods may be determined. Thedetermined multiple hybrid travel methods may be ranked based onrequired time in ascending order. The travel information of the multiplehybrid travel methods corresponding to the car-hailing request may beobtained. Travel information of multiple hybrid travel methodscorresponding to the car-hailing request may be obtained. In step 1232,based on order completion rate, required time, required fee, and walkingdistance of each single travel method, by employing the greedyalgorithm, multiple hybrid travel methods may be determined. Thedetermined multiple hybrid travel methods may be ranked based onrequired fee in ascending order. Travel information of multiple hybridtravel methods corresponding to the car-hailing request may be obtained.Thus, based on a goal of saving time or money, the global optimizationalgorithm can generate two different results for the passenger to selecta desired travel method. The step 1231 and the step 1232 may be bothperformed, or only one of them may be performed.

In step 1240, based on the travel information of each single travelmethod and the travel information of each hybrid travel method, allsingle and hybrid travel methods may be sent to a user device afterbeing ranked according to a preset travel condition. The step 1240 maybe performed by the ranking unit 370 of the processing module 210 of thePOI engine 110 and the passenger interface 230 and/or the driverinterface 240. Based on the travel information of each single travelmethod and the travel information of each hybrid travel method, allsingle and hybrid travel methods may be ranked by the ranking unit 370according to a preset travel condition. Then a list of travel methodsthat have been ranked may be sent through the passenger interface 230and/or the driver interface 240. In some embodiments, the ranking unit370 may be configured to rank all the single and hybrid travel methodsaccording to a preset travel condition, based on an order completionrate, a required time, a required fee, and a walking distance of eachsingle and hybrid travel method. The preset travel condition may includea preset range of walking distance, a preset required fee, a presetrequired time, or the like, or any combination thereof. Moreparticularly, for example, the step 1240 may be used to comprehensivelyrank the single and hybrid travel methods based on a passenger-input orsystem default travel condition or ranking method. The method in step1240 may further include receiving and displaying the single and hybridtravel methods in sequence by the passenger terminal device 120 and/orthe driver terminal device 140 for the passenger to select. Thepassenger terminal device 120 and/or the driver terminal device 140 mayinclude a display unit 520 configured to display the ranked single andhybrid travel methods for the passenger to select.

In some embodiments, the step 1240 may include ranking all single andhybrid travel methods according to a preset travel condition based on anorder completion rate, a required time, a required fee, and a walkingdistance of each single and hybrid travel method. The preset travelcondition may include a preset range of walking distance, a presetrequired fee, a preset required time, or the like, or any combinationthereof. In some embodiments, multiple travel conditions may be preset.For example, the multiple travel conditions may include a cheapestrequired fee and a walking distance less than 1 km.

In some embodiments, the most suitable travel method may be found for apassenger based on all data stored in the on-demand service system 105and a geographic information system. For example, a background device ofthe system 105 and the geographic information system may find that anorder completion rate of a taxi near the current location of a passengeris very low and the passenger's order quality is not very high, i.e.failure probability of the passenger's order is very high. However, thebackground device may find that an order completion rate of achauffeured car service is relatively high. Then the background devicemay recommend the chauffeured car service to the passenger as a prioritychoice. As another example, if the background device finds that apassenger is near a bus station and there will be a bus in 5 minutesthat will take the passenger to a location close to the passenger'sdestination, the background may recommend the passenger to take the busand tell the passenger the bus's arrival time. Alternatively, thebackground device may recommend the passenger a hybrid bus-taxi travelmethod. The hybrid bus-taxi travel method may include taking thepassenger by bus to a location with a high order completion rate of ataxi order. The location with a high order completion rate may be alocation where orders are relatively less and drivers prefer to the typeof the current order. The background device may provide multiplerecommended travel methods with estimated fee and estimated time for thepassenger to select.

In some embodiments, a method of planning travel method is provided. Acar-hailing software platform may obtain multiple recommended travelmethods based on various information. The recommended travel methods mayinclude one or more single and hybrid travel methods. The car-hailingsoftware platform may rank the multiple recommended travel methods inascending order based on a preset ranking method, such as required fee,required time, or walking distance. These multiple recommended travelmethods may be provided for a passenger to select to effectivelyincrease the order completion rate, save time or money and improve thepassenger's user experience.

For brevity and better understanding of the method of planning travelmethod of the present disclosure, a passenger is illustrated as anexample in following description, but is not intended to limit the scopeof the present disclosure.

For example, a passenger A would like to leave for Union Hospital fromBeijing Huilongguan North immediately. After the passenger A sends theorder, the service terminal of a car-hailing software may detect thatpassenger A's order is a real-time request order and analyze that itsdestination is a hospital in the business district around QianmenStreet. This information may be sent to each product line (i.e.,multiple travel methods). Each product line may estimate an ordercompletion rate based on traffic information, preference of a driver fora product line, the number of available drivers, etc. An optimal tip andthe order completion rate of each product line may be obtained based onthe order completion rate and the passenger's acceptance rate thatcorrespond to each tip. For example, a result may be as follows:

by taking a taxi, the tip is RMB 5 yuan, the order completion rate is0.8, the total fee is RMB 90 yuan, the walking distance is 700 meters,and the required time is 1.15 hours;

by taking a chauffeured car service, the tip is RMB 0 yuan, the ordercompletion rate is 0.9, the total fee is RMB 120 yuan, the walkingdistance is 200 meters, and the required time is 1.05 hours;

by taking a hitchhiking, the tip is RMB 5 yuan, the order completionrate is 0.8, the total fee is RMB 60 yuan, the walking distance is 800meters, and the required time is 1.2 hours; and

by taking a bus, the tip is RMB 0 yuan, the order completion rate is 1,the total fee is RMB 10 yuan, the walking distance is 3 km, and therequired time is 2 hours;

In addition, after the data request (i.e., the result described above)enters a route synthesis program, the route synthesis program mayperform optimization by employing a greedy optimization algorithm basedon a system default optimization method or an optimization methoddesignated by the passenger. For example, if the current optimizationtarget is the lowest required fee and a walking distance less than 1 km,the bus, i.e. the cheapest travel methods, may be selected as the firsttravel method to start the travel. The total fee of taking ahitchhiking, a taxi, or a chauffeured car service that corresponds todistances between each bus station and the destination of the passengermay be calculated respectively. A result may be found that taking ahitchhiking after having taken the bus for three stations would be agood hybrid travel method that will totally cost RMB 20 yuan and 1.4hours, and require a 900 meters' walking. Finally, this hybrid travelmethod may be selected by the passenger. It is shown in the aboveexample that the greedy algorithm may be used as a global optimizationmethod to firstly optimize the product with an optimal optimizationtarget. If the first optimal solution does not meet some constraints(e.g. the current optimization object), a second alternative may beselected (e.g., a hitchhiking).

It should be noted that modules of the system of the present disclosureare logically divided according to their functions. These modules areprovided for the purposes of illustration, and not intended to limit thescope of the present disclosure. These modules may be re-divided orcombined according to different requirements. For example, some modulesmay be combined into a single module, or further divided into moresub-modules.

Various modules of the present disclosure may be implemented byhardware, software running in one or more processors, or a combinationof them. For persons having ordinary skills in the art, some or all ofthe functions of the modules of the present disclosure may beimplemented by a microprocessor or a digital signal processor (DSP). Thepresent disclosure may also be implemented as a device or a programrunning in a device (e.g., a computer program and a product withcomputer programs) that perform a part or all of the methods describedherein. Such kind of programs may be stored on a computer readablemedium, or may be in a form of one or more signals. Such signals may bedownloaded from an Internet website, provided on a carrier signal, orprovided in any other forms.

The embodiments described above are provided for the purposes ofillustration, and not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, variousvariations and modifications may be conducted under the teaching of thepresent disclosure. However, those variations and modifications may notdepart the spirit and scope of this disclosure. The scope of the patentdisclosure should be the consistent with the scope of the claims.

FIG. 13 is a flow chart of an example of a process of detecting avehicle status by the POI engine 110 according to some embodiments ofthe present disclosure. In step 1310, the POI engine 110 may receivegeographic dataflow from a vehicle and obtain multiple geographiccoordinates of the vehicle in a given time period as shown in FIG. 13 .The step 1310 may be performed by the passenger interface 230 and/or thedriver interface 240. According to some embodiments of the presentdisclosure, the geographic dataflow may be obtained using a positioningtechnology, and the positioning technology may include but is notlimited to global positioning system (GPS) technology, global navigationsatellite system (GLONASS) technology, Beidou navigation systemtechnology, Galileo positioning system technology, quasi-zenithsatellite system (QZSS) technology, wireless fidelity (Wi-Fi)positioning technology, or the like, or any combination thereof.According to some embodiments of the present disclosure, the GPSdataflow obtained by the GPS positioning technology may include multiplereal-time GPS coordinates uploaded by the vehicle at a given timefrequency, in which each GPS coordinate corresponds to a location of thevehicle at each sampling time. In some embodiments, for the multiplereal-time GPS coordinates uploaded by the vehicle at a given timefrequency, each GPS coordinate may correspond to a location of thevehicle at each sampling time. For example, current GPS coordinates ofthe vehicle may be obtained in real time by a GPS module of a smartdevice; the GPS coordinates that are sampled at a certain time frequencymay be uploaded in real time by a long-lived connection service of acar-hailing app. In some embodiments, the address analyzing unit 310 ofthe processing module 210 of the POI engine 110 may extract multiple GPScoordinates from the GPS dataflow in a given period related to a giventime point. For example, the real-time GPS dataflow Gi={sxi, syi, ti}may be obtained using the GPS positioning technology, wherein i=1,2,3, .. . , n, sx may denote longitudes of the GPS dataflow, sy may denotelatitudes of the GPS dataflow, and t may denote the sampling time of theGPS dataflow. According to the given time point t, multiple GPScoordinates Gj in the time interval t-tj<ε may be obtained, whereinGj={sxj, syj}, j=1, 2, 3, . . . , k.

In step 1320, the POI engine 110 may calculate a center point coordinateof multiple geographic coordinates and a distance and an orientationdistribution between each geographic coordinate and the center pointcoordinate. The step 1320 may be performed by the calculation sub-unit385 of the processing module 210 of the POI engine 110. In someembodiments, the calculation sub-unit 385 may be configured to calculatea center point coordinate of multiple GPS coordinates, an Euclideandistance and a radian between each GPS coordinate and the center pointcoordinate, and a normalized distance and an orientation distributionbetween each GPS coordinate and the center point coordinate based oneach Euclidean distance and each radian. Herein, the Euclidean distanceis one of the common methods of calculating a distance in clusteringanalysis. In some embodiments, methods of calculating a distance mayinclude but is not limited to the Euclidean distance, the Manhattandistance, the Mahalanobis distance and/or the Hamming distance, etc. Forexample, the multiple GPS coordinates of the vehicle in the given periodmay be obtained by the address analyzing unit 310, i.e., Gj={sxj, syj},wherein j=1, 2, 3, . . . , k. Firstly, the center coordinate g₀ ofmultiple GPS coordinates may be calculated as:

$\begin{matrix}{{g_{0} = {\frac{1}{k}{\sum_{j = 0}^{k}G_{j}}}},} & (3)\end{matrix}$

Then, the Euclidean distance ω(G_(j), g₀) and the radian ψ(G_(j), g₀)between each GPS coordinate and the center point coordinate may becalculated. Based on each Euclidean distance ω(G_(j), g₀) and eachradian ψ(G_(j), g₀), the normalized distance S(G_(j), g₀) and theorientation distribution θ(G_(j), g₀) between each GPS coordinate andthe center point coordinate may be calculated according to Equation 4and Equation 5, wherein W is a first threshold selected based onexperimental data and practical experience:

$\begin{matrix}{{S\left( {G_{j},g_{0}} \right)} = \left\{ {\begin{matrix}{1,{{\omega\left( {G_{j},g_{0}} \right)} < W}} \\0\end{matrix},} \right.} & (4) \\{{\theta\left( {G_{j},g_{0}} \right)} = \left\{ {\begin{matrix}{\left( {1,0,0,0} \right),} & {0 \leq \ {\psi\left( {G_{j},g_{0}} \right)} < {\pi/2}} \\{\left( {0,1,0,0} \right)\ ,} & {{\pi/2}\  \leq {\psi\left( {G_{j},g_{0}} \right)} < \pi} \\{\left( {0,0,1,0} \right),} & {{\pi \leq {\psi\left( {G_{j},g_{0}} \right)} < {3{\pi/2}}}’} \\{\left( {0,0,0,1} \right),} & {{3{\pi/2}} \leq {\psi\left( {G_{j},g_{0}} \right)} < {2\pi}}\end{matrix}\begin{matrix}\  \\\  \\\  \\\ \end{matrix}} \right.} & (5)\end{matrix}$

In step 1330, a vehicle status may be determined based on the distanceand the orientation distribution. The step 1330 may be performed by thedetermining unit 380 of the processing module 210 of the POI engine 110.In some embodiments, the determining unit 380 and the calculationsub-unit 385 may calculate an average normalized distance and a totalorientation distribution based on the normalized distance and theorientation distribution between each GPS coordinate and the centerpoint coordinate; and determine the vehicle status based on the averagenormalized distance, the first threshold, the total orientationdistribution and a second threshold. For example, the normalizeddistance S(G_(j), g₀) and the orientation distribution θ(G_(j), g₀)between each GPS coordinate and the center point coordinate may beobtained by the calculation sub-unit 385. Firstly, the averagenormalized distance S_(avg) and the total orientation distributionθ_(sum) may be calculated as:

$\begin{matrix}{{S_{avg} = {\frac{1}{k}{\sum_{j = 0}^{k}{S\left( {G_{j},g_{0}} \right)}}}},} & (6) \\{and} & \; \\{{\theta_{sum} = {{{\sum_{j = 0}^{k}{\theta\left( {G_{j},g_{0}} \right)}}}1}},} & (7)\end{matrix}$

Then the vehicle status R may be determined according to Equation 8,wherein 1 may indicate that the vehicle is static and 0 may indicatethat the vehicle is not static, the parameter ω may denote the firstthreshold, and the parameter η may denote the second threshold, and thetwo thresholds are selected based on experimental data and practicalexperience. In some embodiments, a static status of the vehicle may be alow-speed driving status.

$\begin{matrix}{R = \left\{ {\begin{matrix}{1,{S_{avg} < \overset{\_}{\omega}},{\theta_{sum} > \eta}} \\0\end{matrix},} \right.} & (8)\end{matrix}$

It should be noted that an exemplary flow chart may be described as aflow diagram, a flow chart table, a data flow diagram, a structuralchart or a block diagram. The sequence of the steps may be rearranged.When the steps in the process are completed, the process may proceed toan end or extra steps not included in the flow chart. According to someembodiments of the present disclosure, determining the vehicle status bythe POI engine 110 may further include storing the vehicle status andthe center point coordinate and sending the vehicle status and thecenter point coordinate in response to a search request for the vehiclestatus. In some embodiments, the storage module 220 of the POI engine110 may be configured to store the vehicle status and the center pointcoordinate. In some embodiments, the passenger interface 230 and/or thedriver interface 240 of the POI engine 110 may be configured to send thevehicle status and the center point coordinate in response to a searchrequest of the vehicle status. For example, in a car-hailing platform,the vehicle status R and the center point coordinates g₀ may be storedin the storage device. When the on-demand service system 105 sends thesearch request for the vehicle status, the vehicle status R and thecenter point coordinates g₀ that correspond to the searching time pointmay be read from the storage device and sent to the on-demand servicesystem 105. In some embodiments, the vehicle may upload the GPS data tothe on-demand service system 105 at a certain frequency by the passengerterminal device 120 and/or the passenger terminal device 140. Thepassenger interface 230 and/or the driver interface 240 of the POIengine 110 may receive the GPS dataflow from the passenger terminaldevice 120 and/or the driver terminal device 140. The address analyzingunit 310 may obtain multiple GPS coordinates of the vehicle in a givenperiod. The calculation sub-unit 385 may calculate the center pointcoordinate of multiple GPS coordinates, and the distance and theorientation distribution between each GPS coordinate and the centerpoint coordinate. The determining unit 380 may determine the vehiclestatus based on the distance and the orientation distribution. Thedetermining unit 380 may store the vehicle status and the center pointcoordinate in the storage module 220 and/or the database 130 of the POIengine 110, respond to the search request for the vehicle status sent bythe on-demand service system 105, read the vehicle status and the centerpoint coordinate corresponding to the searching time point from thestorage module 220 and/or the database 130 and send the data of thevehicle status to the on-demand service system 105. In some embodiments,the calculation unit 350 may calculate a service fee based on thevehicle status and/or multiple GPS coordinates of the vehicle in a givenperiod. In some embodiments, the calculation unit 350 and thecalculation sub-unit 385 of the determining unit 380 may calculate theservice fee based on the vehicle status.

In some embodiments, the calculation unit 350 or the calculationsub-unit 385 may calculate the service fee based on the vehicle statusand the duration of different vehicle status. In some embodiments, whenthe vehicle is in the static status or low-speed driving status (e.g.,the average speed is less than a certain threshold), the method ofcalculating the service fee may be based on time, i.e., the service feeis calculated by a minute. Alternatively, one or more unit time ratesmay be set.

It should be noted that a threshold used to determine the low-speeddriving status may be a preset speed, or a dynamic speed determinedbased on factors such as locations of the vehicle, time, etc. There maybe one or more low-speed driving statuses. Multiple stages of thelow-speed driving status may correspond to multiple different speedranges. When the low-speed driving status have multiple stages,different unit time rates may be set for the different stagesrespectively. The same unit time rate also may be set for two or morestatuses.

In some embodiments, when the vehicle is in the motion status or thehigh-speed driving status (e.g., the average driving speed exceeds acertain threshold), the method of calculating the service fee may bebased on distance, i.e., the service fee is calculated by a unitdistance. Alternatively, one or more unit distance rates may be set.

It should be noted that a threshold used to determine the high-speeddriving status may be a preset speed, or a dynamic speed determinedbased on factors such as locations of the vehicle, time, etc. There maybe one or more high-speed driving statuses. Multiple stages of thehigh-speed driving status may correspond to multiple different speedranges. When the high-speed driving status have multiple stages,different unit distance rates may be set for the different stagesrespectively. The same unit distance rate also may be set for two ormore statuses.

In some embodiments, the process that completes an order may includemultiple transformations of the vehicle status. The calculation sub-unit385 may perform statistical analysis of the duration of the staticstatus or the low-speed driving status of the vehicle. Then thecalculation unit 350 may calculate the service fee of the vehicle in thestatic status or the low-speed driving status based on the unit distancerate. In addition, the calculation unit 385 may perform statisticalanalysis of the duration and the distance of the high-speed drivingstatus of the vehicle. Then the calculation unit 350 may calculate theservice fee of the vehicle in the high-speed driving status based on theunit distance rate. Based on the service fee of the static status,low-speed driving status and high-speed driving status, the calculationunit 350 finally may calculate a total service fee of the whole travelroute. In some embodiments, the service fee may be calculated when thetransportation service is being implemented, i.e., the service fee iscalculated in real time. In some embodiments, the service fee may beuniformly calculated after a transportation service is completed.

The description of pricing the service fee is provided for the purposesof illustration, and not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, variousvariations and modifications may be conducted under the teaching of thepresent disclosure about pricing the transportation service. Forexample, the calculation unit 350 may price the low-speed driving statusof the vehicle based on unit distance rate. As another example, thecalculation unit 350 may price the high-speed driving status of thevehicle based on the unit time rate. All such modifications are withinthe protection scope of the present disclosure.

It should be obvious to those skilled in the art that the modules, theunits or the steps in the above description of the present disclosuremay be realized by general calculating modules. For example, themodules, the units or the steps may be integrated into one calculatingmodule or distributed on a network of multiple calculating modules.Alternatively, the modules, the units or the steps may be realized byexecutable program codes such that the executable program codes may bestored in a storage module and executed by the calculating module. Themodules, the units or the steps may also be realized by distributingeach of them on an individual integrated circuit module or distributingsome of the modules or steps on a single integrated circuit module. Inthis way, the present disclosure is not limited to combinations of anyparticular hardware or software.

It should be noted that the above examples are provided for the purposesof illustration and not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, variousvariations and modifications may be conducted under the teaching of thepresent disclosure. However, those variations and modifications may notdepart the spirit and scope of this disclosure.

FIG. 14 is a flow chart of an example of a process of determiningwhether positioning information is abnormal by the POI engine 110according to some embodiments of the present disclosure. In step 1410,the POI engine 110 may obtain multiple geographic coordinates of apassenger/driver in a given period. The step 1410 may be performed bythe passenger interface 230 and/or the driver interface 240. Locationinformation of multiple geographic coordinates of the passenger/driverin a given period may be obtained by the POI engine 110. According tosome embodiments of the present disclosure, the given period may be aperiod such as ten minutes, half an hour, one hour, etc., determined byprevious experience and/or experimental data. The passenger/driver mayupload multiple geographic coordinates in a given period at certainintervals. The time intervals may be ten seconds, or the like. Eachgeographic coordinate may indicate a location of the passenger/driver ata time when the geographic coordinate is uploaded.

In step 1420, the POI engine 110 may divide multiple geographiccoordinates into multiple groups. The step 1420 may be performed by thegrouping unit 340 of the processing module 210 of the POI engine 110.According to some embodiments of the present disclosure, multiplegeographic coordinates may be divided into several groups using at leastone clustering algorithm. The clustering algorithm may include but isnot limited to K-MEANS algorithm, K-MEDOIDS algorithm, CLARANSalgorithm, or the like, or any combination thereof. A data set with Ngroups or records may be divided into K groups using clusteringalgorithm. Each group may be referred to as one cluster, wherein K<N.And the K groups may satisfy the following criteria:

(1) Each group may include at least one data record.

(2) Each data record may belong to and only belong to one group (itshould be noted that this criterion may not be strictly executed whenusing fuzzy clustering algorithms).

For the given number K of the groups, the algorithm may generate aninitial grouping method, and change the grouping method by repeatedlyperforming iterations to improve the grouping method. Herein, thecriterion in concluding that a grouping method has been improved mayrelate to that records in the same group are as close or relevant aspossible, and records in different groups are as far away or differentas possible. According to some embodiments of the present disclosure,the location coordinates may be grouped based on distances betweencoordinates. After being grouped, the location coordinates in the samegroup may be as close to each other as possible (i.e., the distancebetween two coordinates in the same group may be kept as small aspossible), and the location coordinates in different groups may be asfar away from each other as possible (i.e., the distance between twocoordinates in the different group may be kept as big as possible).According to some embodiments of the present disclosure, multiple piecesof positioning information (e.g., N coordinates) may be divided intomultiple groups (i.e., multiple clusters) based on the clusteringalgorithm. The number of the groups (i.e., the number of the clusters)may be determined by previous experience or experimental data, forexample, K (N>K>0).

In step 1430, the POI engine 110 may obtain location information of acenter point of each group respectively, and a distance between eachlocation and the location of the center point in each group. The stepmay be performed by the address analyzing unit 310 of the processingmodule 210 of the POI engine 110 and the calculation unit 350. Accordingto some embodiments of the present disclosure, obtaining the locationinformation of the center point of each group respectively may includecalculating a mean of all the location information in each group, andtaking the mean as the location information of the center point of eachgroup. For example, the grouping unit 340 may divide N coordinates intoK groups, and the calculation unit 350 may calculate the mean of all thecoordinates in each group to obtain K mean coordinates. The K meancoordinates may be center point coordinates of corresponding groupsrespectively. According to some embodiments of the present disclosure,the distance between each obtained location and the location of thecenter point in each group may be calculated based on the locationinformation of the center point of each group that are calculatedrespectively. For example, for the N coordinates obtained using apositioning technology, the distance between each location and thelocation of the center point in each group may be calculatedrespectively, thereof N distances may be obtained totally.

In step 1440, the POI engine 110 may obtain a maximum of distancesbetween each geographic coordinate and the location of the center pointin each group. The step 1440 may be performed by the determining unit380 and the calculation sub-unit 385 of the processing module 210 of thePOI engine 110. For example, based on the N distances described above,the maximum of the N distances may be calculated and determined. Themaximum may be designated as R_(max).

In step 1450, the POI engine 110 may determine whether the positioninginformation of the passenger/driver is abnormal based on the maximumdistance (i.e., the maximum of the N distances described above). Thestep 1450 may be performed by the determining unit 380 of the processingmodule 210 of the POI engine 110. According to some embodiments of thepresent disclosure, determining whether the positioning information ofthe passenger/driver is abnormal may include: comparing the maximumdistance with a preset threshold; and determining whether thepositioning information of the passenger/driver is abnormal based on thecomparing result. The preset threshold may be determined by previousexperience or experimental data. For example, in a scenario, thepassenger/driver is in the motion status, for example, the driver isdriving and the passenger is moving, and the threshold may be set as 50meters. Then, in a period (e.g., 30 minutes), the location of thedriver/passenger may be changing. If the positioning informationuploaded by the driver/passenger in this period is too concentrated(e.g., R_(max)<50 meters), the positioning information of thepassenger/driver may be abnormal. At this time, the driver/passenger maybe informed to find out the reason why the positioning information isabnormal, for example, whether the positioning function of thepositioning device is turned off. As another example, in another scene,the driver/passenger is not in the motion status or in the low-speeddriving status, for example, a pedestrian that is static or walkingslowly, or a driver that is stuck in a traffic congestion. In thisscene, the threshold may be set as 1000 meters. Then, in a period (e.g.,5 minutes), the location of the driver/passenger may be basicallyunchanging or changing slowly. So, if the positioning information inthis period uploaded by the driver/passenger is too disperse (e.g.,R_(max)>1000 meters), the positioning information of thedriver/passenger may be abnormal in this period. The choice of thethreshold and determining whether the positioning information of thedriver/passenger is abnormal based on the relationship between themaximum value and the threshold (e.g., greater than, less than, equalto, no less than, no more than, etc.) may depend on the concretescenario and the location of the driver/passenger in the specificembodiments. It should be noted that the above description of theembodiments is provided for the purposes of illustration, not intendedto limit the scope of the present disclosure. It should be noted thatany method that determines whether the positioning information of theuser is abnormal based on the comparison of the maximum value and thethreshold is within the spirit and scope of the present disclosure. Insome embodiments, the calculation unit 350 may calculate the service feebased on the positioning information and/or multiple geographiccoordinates. In some embodiments, the determining unit 380 and thecalculation sub-unit 385 may further calculate the service fee based onthe determination that the positioning information is normal.

The determination of whether the positioning information is abnormal maybe applied to different scenarios. For example, the determination ofwhether the positioning information is abnormal may be used to determinewhether to push an order to a driver. For example, a driver may providea location of himself or herself by the driver terminal device 140 andrequest to provide service for a passenger towards the POI engine 110.If the POI engine 110 determines that the positioning information of thedriver is abnormal, then the driver may be rejected to be allocated theorder of the passenger. As another example, the determination of whetherthe positioning information is abnormal may be used to calculate aservice fee. If the positioning information of the driver is abnormal,the calculation of the service fee may be adjusted correspondingly.Otherwise, the POI engine 110 may send a relevant reminder to thepassenger or driver.

It should be noted that a flow chart may be described as a flow diagram,a flow chart table, a data flow diagram, a schematic chart or a blockdiagram. Although a flow chart may describe steps as a sequentialprocess, actually, the process may implement multiple operationsconcurrently or simultaneously. Besides, the sequence of the steps maybe rearranged. When the steps in the process are completed, the processmay proceed to an end or extra steps not included in the flow chart. Theprocess may correspond to a method, a function, a program, a subroutine,a subprogram, etc. When the process corresponds to the function, theending of the process may correspond to returns of the function tocalling function or main function. Besides, it should be obvious tothose skilled in the art that the modules, the units or the steps in theabove description of the present disclosure may be realized by generalcalculating modules. For example, the modules, the units or the stepsmay be integrated into one calculating module or distributed on anetwork of multiple calculating modules. Alternatively, the modules, theunits or the steps may be realized by executable program codes such thatthe executable program codes may be stored in a storage module andexecuted by the calculating module. The modules, the units or the stepsmay also be realized by distributing each of them on an individualintegrated circuit module or distributing some of the modules or stepson a single integrated circuit module. In this way, the presentdisclosure is not limited to combinations of any particular hardware orsoftware.

It should be noted that the above examples are provided for the purposesof illustration and not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, variousvariations and modifications may be conducted under the teaching of thepresent disclosure. However, those variations and modifications may notdepart the spirit and scope of this disclosure.

FIG. 15 -A is a flow chart of an exemplary process of determiningwhether positioning information of a user is abnormal by the POI engine110 according to some embodiments of the present disclosure. The usermay be a service requester (e.g., a passenger), a service provider(e.g., a driver), etc. In step 1510, the POI engine 110 may obtain firstpositioning information of the user within a preset time period. Thestep 1510 may be performed by the passenger interface 230 and/or thedriver interface 240. According to some embodiments of the presentdisclosure, information of multiple geographic coordinates of the userwithin a preset time period may be obtained using a positioningtechnology. The types or details of the positioning technology may befound in above description and will not be further described here. Insome embodiments, GPS coordinate information obtained using the GPSpositioning technology may include but is not limited to longitude,latitude, and time stamp information. In some embodiments, the passengerinterface 230 and/or the driver interface 240 may be configured toobtain the first positioning information of the passenger terminaldevice 120 and/or the driver terminal device 140 within a preset timeperiod. And the first positioning information may be the GPS coordinateinformation obtained using the GPS positioning technology.

In step 1520, the POI engine 110 may obtain second positioninginformation of the passenger/driver within a preset time period. Thestep 1520 may be performed by the passenger interface 230 and/or thedriver interface 240. In some embodiments, information of multiplegeographic coordinates of the passenger/driver within a preset timeperiod may be obtained using a positioning technology. In someembodiments, the second positioning information may include but is notlimited to longitude, latitude, and time stamp information. It should benoted that the preset time period in the step 1510 and the step 1520 maybe the same, but the first positioning information and the secondpositioning information may be obtained using different positioningtechnologies. In some embodiments, the second positioning information ofthe passenger/driver may be obtained via the passenger interface 230and/or the driver interface 240 using the base station positioningtechnology or the Wi-Fi positioning technology.

In step 1530, the POI engine 110 may compare the first positioninginformation with the second positioning information. The step 1530 maybe completed by the determining unit 380 of the processing module 210 ofthe POI engine 110. According to some embodiments of the presentdisclosure, the calculation sub-unit 385 of the determining unit 380 maycalculate the deviation between the first positioning information andthe second positioning information. The determining unit 380 may comparethe deviation with a first preset threshold. More particularly, forexample, the error between the first positioning information and thesecond positioning information may be designated as the distance betweena first positioning coordinate and a second positioning coordinate. Thedistance may be compared with the first preset threshold. In someembodiments, the first positioning information may be the GPS coordinateinformation obtained using the GPS positioning technology. The secondpositioning information may be the second coordinate informationobtained using the base station positioning technology and/or the Wi-Fipositioning technology. In some embodiments, the first preset thresholdmay be set based on the error of the base station positioning or theWi-Fi positioning. Generally, if the error of the base stationpositioning or the Wi-Fi positioning is about hundreds of meters, thefirst preset threshold may be set as hundreds of meters. In someembodiments, based on the comparison result of the first positioninginformation with the second positioning information, it may be possibleto directly jump to step 1550 to determine whether the positioninginformation is abnormal without performing step 1540.

In step 1550, the POI engine 110 may determine whether the positioninginformation is abnormal. The step 1550 may be performed by thedetermining unit 380 of the processing module 210 of the POI engine 110.If the determining unit 380 determines that the deviation is equal to orgreater than the first preset threshold, the determining unit 380 maydetermine that the first positioning information is abnormal. In someembodiments, the first positioning information may be GPS coordinateinformation. When the first positioning information is determined to beabnormal, the GPS coordinate information may be determined to be wrongcoordinate information. If the determining unit 380 determines that thedeviation is less than the first preset threshold, the method ofdetermining whether the positioning information is abnormal may furtherinclude step 1540.

In some embodiments, if it is not yet determined whether the positioninginformation is abnormal based on the result of the step 1530, the step1540 may be performed. In the step 1540, the POI engine 110 may obtain anumber of a base station that the distance between the base station andthe current address of the passenger/driver is less than a presetdistance, and a signal intensity of the base station within a presettime period. Based on the GPS coordinate information, the number and thesignal intensity of the base station, it may be determined whether theGPS coordinate information is wrong coordinate information. The step1540 may be performed by the passenger interface 230 and/or the driverinterface 240 of the POI engine 110. In some embodiments, the POI engine110 may obtain the information of the current address of thepassenger/driver through the passenger interface 230 and/or the driverinterface 240 before the step 1540. Based on the current address of thepassenger/driver, the address analyzing unit 310 of the processingmodule 210 may determine a base station that the distance between thebase station and the current address of the passenger/driver is lessthan a preset distance. The current address of the passenger/driver maybe the coordinate information obtained by the base station positioningtechnology or the Wi-Fi positioning technology. More particularly, forexample, the step 1540 may include step 1551-1553.

FIG. 15 -B is a flow chart of an exemplary process of determiningwhether positioning information is abnormal by the POI engine 110. Instep 1551, the POI engine 110 may obtain a number of a base station thatthe distance between the base station and the current address of thepassenger/driver is less than a preset distance, and a signal intensityof the base station within a preset time period. The number of the basestation may be a unique serial number for identifying the base station.A base station may correspond to a base station number. The step 1551may be performed by the passenger interface 230 and/or the driverinterface 240 of the POI engine 110.

In step 1552, the POI engine 110 may compare the change of the GPScoordinate within a preset time period with a second preset threshold,and compare the change of the signal intensity of the base stationwithin a preset time period with a third preset threshold. The step 1552may be performed by the determining unit 380 of the processing module210 of the POI engine 110 and the calculating subunit 385. Moreparticularly, for example, the change of the GPS coordinate within apreset time period may be a difference between the GPS coordinate at thestarting point of the preset time period and the GPS coordinate at theending point of the preset time period. The change of the signalintensity of the base station within a preset time period may be adifference between the signal intensity of the base station at thestarting point of the preset time period and the signal strength of thesame base station at the ending point of the preset time period. Forexample, if the preset time period is from 1:10 to 1:30, the change ofthe GPS coordinate in the preset time period may be the differencebetween the GPS coordinate at 1:10 and the GPS coordinate at 1:30. Thechange of the signal intensity of the base station in the preset timeperiod may be the difference between the signal intensity of the basestation at 1:10 and the signal intensity of the same base station at1:30. It should be noted that the preset time period may be adjustedbased on an actual situation and/or an actual requirement. For example,the preset time period may be 5 minutes, 20 minutes, 30 minutes, 1 hour,or the like.

In step 1553, the POI engine 110 may determine whether the firstpositioning information is abnormal. The step 1553 may be performed bythe determining unit 380 of the processing module 210 of the POI engine110. If the determining unit 380 determines that the change of the GPScoordinate is greater than the second preset threshold, the number ofthe base station does not change and the change of the signal intensityof the base station is smaller than the third preset threshold, then thefirst positioning information may be determined to be abnormal, i.e.,the GPS coordinate information in the preset time period is wrongcoordinate information. More particularly, for example, if the GPScoordinate of the passenger/driver changes significantly in the presettime period, but the base station number near the passenger/driver doesnot change and the signal intensity of the base station does not changesignificantly, then the GPS coordinate in the preset time period may bedetermined to be wrong coordinate information. If the determining unit380 determines that the change of the GPS coordinate is less than orequal to the second preset threshold, the number of the base stationchanges and the change of the signal intensity of the base station isgreater than or equal to the third preset threshold, then the firstpositioning information may be determined to be abnormal, i.e., the GPScoordinate information in the preset time period is wrong coordinateinformation. More particularly, for example, if the GPS coordinate ofthe passenger/driver does not change significantly in the preset timeperiod, but the number of the base station near the passenger/driverchanges and the signal intensity of the base station changessignificantly, then the GPS coordinate in the preset time period may bedetermined to be wrong coordinate information. In some embodiments, thecalculation unit 350 may calculate a service fee based on thepositioning information and/or the multiple geographic coordinates. Insome embodiments, the determining unit 380 and its calculation sub-unit385 may further calculate the service fee based on the positioninginformation that has been determined to be normal.

It should be noted that there are many ways of determining whetherpositioning information is abnormal and are not limited to the abovedescription. In some embodiments, the determination of whether thepositioning information is abnormal may be used to process thepositioning information of a passenger. For example, the determinationof whether the positioning information is abnormal may be used todetermine whether the POI engine 110 should respond to an order requestfrom a passenger. For example, a passenger may provide his/herpositioning information by the passenger terminal device 120 and send arequest to the POI engine 110 for a driver service. If the POI engine110 determines that the positioning information of the passenger isabnormal, the POI engine 110 may further request more information fromthe passenger, remind the passenger that the positioning information isabnormal, send a request of repositioning, or reject the order requestof the passenger. In some embodiments, a passenger may request anon-demand service at different locations in a short time (e.g.,different locations are far away from each other at a time interval).The POI engine 110 may further inquire the passenger for moreinformation about different service requests. For example, the moreinformation may include whether the different service requests are froma same passenger, the contact information and the method of confirmingthe order of another passenger when the different service requests arefrom different passengers. If the departure location input by apassenger on the passenger terminal device 120 is far from the currentlocation of the passenger terminal device 120 (e.g., 10 km) and thedeparture time designated by the passenger is close to the currentsystem time of the passenger terminal device 120 (e.g., 10 minutes or 20minutes), then the POI engine 110 may further send confirmationinformation to the passenger terminal device 120 to request thepassenger to confirm the departure location and/or the departure time.The POI engine 110 may also request the passenger for other information(e.g., surrounding public or commercial facilities, important landmarkbuildings, street names, etc.) to determine whether the positioning ofthe passenger terminal device 120 is abnormal.

It should be noted that modules of the system of the present disclosureare logically divided according to their functions. These modules areprovided for the purposes of illustration, and not intended to limit thescope of the present disclosure. These modules may be re-divided orcombined according to different requirements. For example, some modulesmay be combined into a single module, or further divided into moresub-modules.

Various modules of the present disclosure may be implemented byhardware, software running in one or more processors, or a combinationof them. For persons having ordinary skills in the art, some or all ofthe functions of the modules of the present disclosure may beimplemented by a microprocessor or a digital signal processor (DSP). Thepresent disclosure may also be implemented as a device or a programrunning in a device (e.g., a computer program and a product withcomputer programs) that perform a part or all of the methods describedherein. Such kind of programs may be stored on a computer readablemedium, or may be in a form of one or more signals. Such signals may bedownloaded from an Internet website, provided on a carrier signal, orprovided in any other forms.

The embodiments described above are provided for the purposes ofillustration, and not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, variousvariations and modifications may be conducted under the teaching of thepresent disclosure. However, those variations and modifications may notdepart the spirit and scope of this disclosure. The scope of the patentdisclosure should be the consistent with the scope of the claims.

FIG. 16 is a structure of a mobile device that is configured toimplement a specific system disclosed in the present disclosure. In someembodiments, the user terminal device configured to display andcommunicate information related to locations may be a mobile device1600. The mobile device may include but is not limited to a smart phone,a tablet computer, a music player, a portable game console, a GPSreceiver, a wearable calculating device (e.g. glasses, watches, etc.),or the like. The mobile device 1600 may include one or more centralprocessing units (CPUs) 1640, one or more graphical processing units(GPUs) 1630, a display 1620, a memory 1660, an antenna 1610 (e.g. awireless communication unit), a storage unit 1690, and one or moreinput/output (I/O) devices 1650. Moreover, the mobile device 1600 mayalso be any other suitable component that includes but is not limited toa system bus or a controller (not shown in FIG. 16 ). As shown in FIG.16 , a mobile operating system 1670 (e.g. IOS, Android, Windows Phone,etc.) and one or more applications 1680 may be loaded from the storageunit 1690 to the memory 1660 and implemented by the CPUs 1640. Theapplication 1680 may include a browser or other mobile applicationsconfigured to receive and process information related to locations inthe mobile device 1600. The passenger/driver may obtain communicationinformation related to locations through the system I/O device 1650, andprovide the information to the POI engine 110 and/or other modules orunits of the system 100, e.g. the network 150.

In order to implement various modules, units and their functionsdescribed above, a computer hardware platform may be used as hardwareplatforms of one or more elements (e.g., the POI engine 110 and/or othersections of the system 100 described in FIG. 1 through FIG. 15 ). Sincethese hardware elements, operating systems and program languages arecommon, it may be assumed that persons skilled in the art may befamiliar with these techniques and they may be able to provideinformation required in the on-demand service according to thetechniques described in the present disclosure. A computer with userinterface may be used as a personal computer (PC), or other types ofwork stations or terminal devices. After being properly programmed, acomputer with user interface may be used as a server. It may beconsidered that those skilled in the art may also be familiar with suchstructures, programs, or general operations of this type of computerdevice. Thus, extra explanations are not described for the Figures.

FIG. 17 is a structure of a computing device that is configured toimplement a specific system disclosed in the present disclosure. Theparticular system may use a functional block diagram to explain thehardware platform containing one or more user interfaces. The computermay be a computer with general or specific functions. Both types of thecomputers may be configured to implement any particular system accordingto some embodiments of the present disclosure. The computer 1700 may beconfigured to implement any components that provides informationrequired by the on-demand service disclosed in the present description.For example, the POI engine 110 may be implemented by hardware devices,software programs, firmwares, or any combination thereof of a computerlike the computer 1700. For brevity, FIG. 17 depicts only one computer.In some embodiments, the functions of the computer, providinginformation that on-demand service may require, may be implemented by agroup of similar platforms in a distributed mode to disperse theprocessing load of the system.

The computer 1700 may include a communication terminal 1750 that mayconnect with a network that may implement the data communication. Thecomputer 1700 may also include a CPU that is configured to executeinstructions and includes one or more processors. The schematic computerplatform may include an internal communication bus 1710, different typesof program storage units and data storage units, e.g. a hard disk 1770,a read-only memory (ROM) 1730, a random-access memory (RAM) 1740),various data files applicable to computer processing and/orcommunication, and some program instructions executed possibly by theCPU. The computer 1700 may also include an I/O device 1760 that maysupport the input and output of data flows between the computer andother components (e.g. a user interface 1780). Moreover, the computer1700 may receive programs and data via the communication network.

Various aspects of methods of providing information required byon-demand service and/or methods of implementing other steps by programsare described above. The programs of the technique may be considered as“products” or “artifacts” presented in the form of executable codesand/or relative data. The programs of the technique may be joined orimplemented by the computer readable media. Tangible and non-volatilestorage media may include any type of memory or storage that is appliedin computer, processor, similar devices, or relative modules. Forexample, the tangible and non-volatile storage media may be varioustypes of semiconductor storages, tape drives, disc drives, or similardevices capable of providing storage function to software at any time.

Some or all of the software may sometimes communicate via a network,e.g. the Internet or other communication networks. This kind ofcommunication may load a software from a computer device or a processorto another. For example, a software may be loaded from a managementserver or a main computer of the on-demand service system to a hardwareplatform in a computer environment, or to other computer environmentscapable of implementing the system, or to systems with similar functionsof providing information required by on-demand service. Correspondingly,another media used to transmit software elements may be used as physicalconnections among some of the equipment. For example, light wave,electric wave, electromagnetic wave, etc. may be transmitted by cables,optical cables or air. Physical media used to carry waves, e.g. cable,wireless connection, optical cable, or the like, may also be consideredas media of hosting software. Herein, unless the tangible “storage”media is particularly designated, other terminologies representing the“readable media” of a computer or a machine may represent media joinedby the processor when executing any instruction.

A computer readable media may include a variety of forms, including butnot limited to tangible storage media, wave-carrying media or physicaltransmission media. Stable storage media may include compact disc,magnetic disk, or storage systems that are applied in other computers orsimilar devices and may achieve all the sections of the system describedin the drawings. Unstable storage media may include dynamic memory, e.g.the main memory of the computer platform. Tangible transmission mediamay include coaxial cable, copper cable and optical fiber, includingcircuits forming the bus in the internal of the computer system.Wave-carrying media may transmit electric signals, electromagneticsignals, acoustic signals or light wave signals. And these signals maybe generated by radio frequency communication or infrared datacommunication. General computer readable media may include hard disk,floppy disk, magnetic tape, or any other magnetic media; CD-ROM, DVD,DVD-ROM, or any other optical media; punched cards, or any otherphysical storage media containing aperture mode; RAM, PROM, EPROM,FLASH-EPROM, or any other memory chip or magnetic tape; carrying wavesused to transmit data or instructions, cable or connection devices usedto transmit carrying waves, or any other program code and/or dataaccessible to a computer. Most of the computer readable media may beapplied in executing instructions or transmitting one or more results bythe processor.

It may be understood to those skilled in the art that variousalterations and improvements may be achieved according to someembodiments of the present disclosure. For example, the variouscomponents of the system described above are all achieved by hardwareequipment. In fact, the various components of the system described abovemay be achieved merely by software, e.g. installing the system on thecurrent server. Additionally or alternatively, the location informationdisclosed here may be provided by a firmware, a combination of afirmware and a software, a combination of a firmware and a hardware, ora combination of a firmware, a hardware and a software.

The present disclosure and/or some other examples have been described inthe above. According to descriptions above, various alterations may beachieved. The topic of the present disclosure may be achieved in variousforms and embodiments, and the present disclosure may be further used ina variety of application programs. All applications, modifications andalterations required to be protected in the claims may be within theprotection scope of the present disclosure.

What is claimed is:
 1. A system for providing information for an on-demand service, comprising: at least one non-transitory computer-readable storage medium including a set of instructions, at least one processor in communication with the at least one non-transitory storage medium, wherein when executing the set of instructions, the at least one processor is configured to cause the system to: receive, at the system, from a terminal device of a user, a service request; obtain, at the system, information related to the service request, the information related to the service request including feature-related information and profile information from a database and the terminal device; determine, at the system, travel information corresponding to at least one single travel method based on the feature-related information and the profile information; and determine, at the system, travel information corresponding to at least one hybrid travel method based on the travel information corresponding to the at least one single travel method; wherein the profile information comprises at least one of a departure time, a departure or a destination, and the feature-related information comprises at least one of point of interest (POI) information of the departure and the destination, real-time weather information, real-time traffic information or a distance between the departure and the destination; and wherein to determine, at the system, travel information corresponding to at least one single travel method based on the feature-related information and the profile information, the at least one processor is configured to cause the system to: estimate an order completion rate of the at least one single travel method based on the feature-related information and the profile information using a pre-built prediction model; arrange a travel rout based on the departure, the destination and the at least one single travel method, wherein information of the travel rout is obtained to estimate a required fee, a walking distance and a required time, and the information of the travel rout includes at least one of the distance between the departure and the destination, travel time and level of traffic congestion; and determine travel information of the service request corresponding to the at least one single travel method, the travel information including at least one of order completion rate, the required time, the required fee or the walking distance corresponding to the at least one single travel method.
 2. The system of claim 1, wherein the at least one processor is configured to cause the system to: rank, at the system, the at least one single travel method and the at least one hybrid travel method based on a preset travel condition, the preset travel condition including at least one of a preset range of walking distance, a preset required fee, or a preset required time; send, from the system, a list of the ranked travel methods including the at least one single travel method and the at least one hybrid travel method to the terminal device; and display the ranked travel methods on the terminal device for the user to select.
 3. The system of claim 1, wherein the service request comprises at least one transportation service request, and the feature-related information further comprises at least one of preference information of a driver for the at least one single travel method, or the number of available drivers corresponding to the at least one single travel method in a preset area.
 4. The system of claim 1, wherein the at least one processor is further configured to cause the system to: determine, at the system, the order completion rate corresponding to each of a preset amount of additional fee and a passenger's acceptance rate of the preset amount of additional fee based on multiple preset amounts of the additional fee; obtain, at the system, an optimal amount of additional fee based on the order completion rate and the passenger's acceptance rate corresponding to each of the preset amount of additional fee; and designate, at the system, order completion rate corresponding to the optimal amount of additional as a final order completion rate.
 5. The system of claim 1, wherein to determine travel information corresponding to at least one hybrid travel method based on the travel information corresponding to the at least one single travel method, the at least one processor is configured to cause the system to: determine, at the system, the at least one hybrid travel method based on the travel information corresponding to the at least one single travel method using a global optimization algorithm, wherein the at least one hybrid travel method is ranked based on the required time; and/or determine, at the system, the at least one hybrid travel method in based on the travel information corresponding to the at least one single travel method using the global optimization algorithm, wherein the at least one hybrid travel method is ranked based on the required fee; and obtain, at the system, travel information corresponding to at least one hybrid travel method.
 6. The system of claim 1, wherein the at least one processor is further configured to cause the system to: obtain, at the system, at least one travel rout corresponding to the at least one single travel method, the at least one travel rout comprising the departure and the destination; calculate, at the system, at least one probability of the at least one travel route; rank, at the system, the at least one travel rout base on the at least one probability of the at least one travel route; and send, from the system, a list of the ranked travel routes to the terminal device.
 7. The system of claim 6, wherein to obtain the at least one travel rout corresponding to the at least one single travel method, at least one processor is further configured to cause the system to: obtain, at the system, the at least one travel rout preset by the user; and/or obtain, at the system, the at least one travel rout based on a big data calculation of daily travel data and consumption behavior of the user.
 8. The system of claim 6, wherein to calculate the at least one probability of the at least one travel route, the at least one processor is further configured to cause the system to: calculate, at the system, historical probability of the at least one travel route; and calculate, at the system, the at least one probability of the at least one travel route based on the historical probability of the at least one travel route and travel-route-related information, the travel-route-related information including at least one of the departure, the real-time weather information, or the departure time.
 9. The system of claim 6, wherein the at least one travel rout is ranked based on the at least one probability in a descending order.
 10. A method for providing information for an on-demand service implemented on a computing device having at least one processor and at least one storage device, the method comprising: receiving, by the computing device, from a terminal device of a user, a service request; obtaining, by the computing device, information related to the service request, the information related to the service request including feature-related information and profile information; determining, by the computing device, travel information corresponding to at least one single travel method based on the feature-related information and the profile information; and determining, by the computing device, travel information corresponding to at least one hybrid travel method based on the travel information corresponding to the at least one single travel method; wherein the profile information comprises at least one of a departure time, a departure or a destination, and the feature-related information comprises at least one of point of interest (POI) information of the departure and the destination, real-time weather information, real-time traffic information or a distance between the departure and the destination; and wherein the determining, by the computing device, determining travel information corresponding to at least one single travel method based on the feature-related information and the profile information, the at least one processor is configured to cause the system to: estimate an order completion rate of the at least one single travel method based on the feature-related information and the profile information using a pre-built prediction model; arrange a travel rout based on the departure, the destination and the at least one single travel method, wherein information of the travel rout is obtained to estimate a required fee, a walking distance and a required time, and the information of the travel rout includes at least one of the distance between the departure and the destination, travel time and level of traffic congestion; and determine travel information of the service request corresponding to the at least one single travel method, the travel information including at least one of order completion rate, the required time, the required fee or the walking distance corresponding to the at least one single travel method.
 11. The method of claim 10, further comprising: ranking, by the computing device, the at least one single travel method and the at least one hybrid travel method based on a preset travel condition, the preset travel condition including at least one of a preset range of walking distance, a preset required fee, or a preset required time; sending, from the computing device, a list of the ranked travel methods including the at least one single travel method and the at least one hybrid travel method to the terminal device; and displaying the ranked travel methods on the terminal device for the user to select.
 12. The method of claim 10, wherein the determining travel information corresponding to at least one hybrid travel method based on the travel information corresponding to the at least one single travel method comprises: determining, by the computing device, the at least one hybrid travel method based on the travel information corresponding to the at least one single travel method using a global optimization algorithm, wherein the at least one hybrid travel method is ranked based on the required time; and/or determining, by the computing device, the at least one hybrid travel method in based on the travel information corresponding to the at least one single travel method using the global optimization algorithm, wherein the at least one hybrid travel method is ranked based on the required fee; and obtaining, by the computing device, travel information corresponding to at least one hybrid travel method.
 13. The method of claim 10, further comprising: obtaining, by the computing device, at least one travel rout corresponding to the at least one single travel method, the at least one travel rout comprising the departure and the destination; calculating, by the computing device, at least one probability of the at least one travel route; ranking, by the computing device, the at least one travel rout base on the at least one probability of the at least one travel route; and sending, from the computing device, a list of the ranked travel routes to the terminal device.
 14. The method of claim 13, wherein the obtaining at least one travel rout corresponding to the at least one single travel method comprises: obtaining, by the computing device, the at least one travel rout preset by the user; and/or obtaining, by the computing device, the at least one travel rout based on a big data calculation of daily travel data and consumption behavior of the user.
 15. The method of claim 13, wherein the calculating the at least one probability of the at least one travel route comprises: calculating, by the computing device, historical probability of the at least one travel route; and calculating, by the computing device, the at least one probability of the at least one travel route based on the historical probability of the at least one travel route and travel-route-related information, the travel-route-related information including at least one of the departure, the real-time weather information, or the departure time.
 16. A non-transitory computer readable medium, comprising at least one set of instructions, wherein when executed by at least one processor of a computing device, the at least one set of instructions cause the at least one processor to effectuate a method comprising: receiving, by the processor, from a terminal device of a user, a service request; obtaining, by the processor, information related to the service request, the information related to the service request including feature-related information and profile information; determining, by the processor, travel information corresponding to at least one single travel method based on the feature-related information and the profile information; and determining, by the processor, travel information corresponding to at least one hybrid travel method based on the travel information corresponding to the at least one single travel; wherein the profile information comprises at least one of a departure time, a departure or a destination, and the feature-related information comprises at least one of point of interest (POI) information of the departure and the destination, real-time weather information, real-time traffic information or a distance between the departure and the destination; and wherein the determining, by the computing device, determining travel information corresponding to at least one single travel method based on the feature-related information and the profile information, the at least one processor is configured to cause the system to: estimate an order completion rate of the at least one single travel method based on the feature-related information and the profile information using a pre-built prediction model; arrange a travel rout based on the departure, the destination and the at least one single travel method, wherein information of the travel rout is obtained to estimate a required fee, a walking distance and a required time, and the information of the travel rout includes at least one of the distance between the departure and the destination, travel time and level of traffic congestion; and determine travel information of the service request corresponding to the at least one single travel method, the travel information including at least one of order completion rate, the required time, the required fee or the walking distance corresponding to the at least one single travel method. 